From cb4a0993c637504ed119832bbdded08989b97f6b Mon Sep 17 00:00:00 2001 From: alitpc25 Date: Sat, 25 Nov 2023 04:39:40 +0300 Subject: [PATCH] #446 Add GitHub Actions workflow for deployment. --- .github/workflows/deploy.yml | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..c84ac09a --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,39 @@ +name: Deploy to AWS + +on: + push: + branches: + - dev + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Set up Docker + uses: actions/setup-docker@v2 + with: + dockerfile: ./bounswe2023group1/resq/backend/resq/Dockerfile.remote + + - name: Build and Push Docker Image + run: | + docker build -t resq:latest -f ./bounswe2023group1/resq/backend/resq/Dockerfile.remote ./bounswe2023group1/resq/backend/resq/ + docker login -u alitpc2525 -p ${{ secrets.DOCKER_PASSWORD }} + docker tag resq:latest alitpc2525/resq:latest + docker push alitpc2525/resq:latest + + - name: SSH into AWS EC2 + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.AWS_EC2_HOST }} + username: ec2-user + key: ${{ secrets.AWS_PRIVATE_KEY }} + script: | + sudo service docker start + sudo docker rm -f $(sudo docker ps -q) + sudo docker pull alitpc2525/resq:latest + sudo docker run -d -p 443:8081 -v /home/ec2-user/certbot/keystore.p12:/app/keystore.p12 alitpc2525/resq:latest + sudo docker ps