From f39a6f981638473b18303df879b1842fb95fd59e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20K=C3=BC=C3=A7=C3=BCk?= <44123646+mustafakucuk-dev@users.noreply.github.com> Date: Tue, 19 Dec 2023 16:10:44 +0300 Subject: [PATCH] docker deployment added --- .github/workflows/backend_build.yml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.github/workflows/backend_build.yml b/.github/workflows/backend_build.yml index aaa6e6f9..0872b91c 100644 --- a/.github/workflows/backend_build.yml +++ b/.github/workflows/backend_build.yml @@ -22,11 +22,25 @@ jobs: - name: Build Docker image working-directory: ${{env.working-directory}} run: | - docker build -t erkamkavak/gamelounge-backend:${{ github.run_number }} . + docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/gamelounge-backend:${{ github.run_number }} . - name: Login to Docker Hub - run: echo "gameLounge2019" | docker login -u "erkamkavak" --password-stdin + run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin - name: Push Docker image run: | - docker push erkamkavak/gamelounge-backend:${{ github.run_number }} + docker push ${{ secrets.DOCKERHUB_USERNAME }}/gamelounge-backend:${{ github.run_number }} + + # SSH and Deploy to Server + - name: Setup SSH Agent + uses: webfactory/ssh-agent@v0.5.3 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Deploy to Server + run: | + ssh -o StrictHostKeyChecking=no root@${{ secrets.SERVER_IP }} \ + "docker pull ${{ secrets.DOCKERHUB_USERNAME }}/gamelounge-backend:${{ github.run_number }} && \ + docker stop gamelounge-backend || true && \ + docker rm gamelounge-backend || true && \ + docker run -d --name gamelounge-backend -p 8080:8080 -e SPRING_DATASOURCE_URL="jdbc:postgresql://${{ secrets.SERVER_IP }}:5432/postgres" -e SPRING_DATASOURCE_USERNAME="postgres" -e SPRING_DATASOURCE_PASSWORD="${{ secrets.DOCKERHUB_PASSWORD }}" -e MAIL_URL="http://${{ secrets.SERVER_IP }}:8080/" -e CLOUD_AWS_S3_BUCKET="${{ secrets.CLOUD_AWS_S3_BUCKET }}" -e CLOUD_AWS_CREDENTIALS_ACCESSKEY="${{ secrets.CLOUD_AWS_CREDENTIALS_ACCESSKEY }}" -e CLOUD_AWS_CREDENTIALS_SECRETKEY="${{ secrets.CLOUD_AWS_CREDENTIALS_SECRETKEY }}" ${{ secrets.DOCKERHUB_USERNAME }}/gamelounge-backend:${{ github.run_number }}"