From 785ff710d4913614f3eeebf1aaa7a2ccdc48e4c8 Mon Sep 17 00:00:00 2001 From: HYO SEUNG SHIN <97419192+CodeJesterND@users.noreply.github.com> Date: Mon, 4 Nov 2024 15:07:21 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=9A=20CI=20=EB=B9=8C=EB=93=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20:=20PR=20=EC=83=9D=EC=84=B1=20=EC=8B=9C=20?= =?UTF-8?q?CI=20=EC=9E=90=EB=8F=99=20=EC=8B=A4=ED=96=89=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=ED=95=B4=EA=B2=B0=EC=97=90=20=EA=B4=80=ED=95=9C=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=82=B4=EC=9A=A9=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PR 생성 시 CI 가 자동으로 실행되는 버그 수정에 관련된 파일 내용 추가 Ref : #35 --- .github/workflows/gradle-build-deploy.yml | 44 +++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle-build-deploy.yml b/.github/workflows/gradle-build-deploy.yml index fd9af17e..3627a882 100644 --- a/.github/workflows/gradle-build-deploy.yml +++ b/.github/workflows/gradle-build-deploy.yml @@ -31,7 +31,6 @@ jobs: run: | mkdir -p ./src/test/resources/properties echo "${{ secrets.TEST_ENV_FILE }}" > ./src/test/resources/properties/test-env.properties - - name: Setup Gradle uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 @@ -53,4 +52,45 @@ jobs: push: true tags: | ${{ secrets.DOCKER_USERNAME }}/jdk-21-spring-boot-3.3.1:${{ github.sha }} - ${{ secrets.DOCKER_USERNAME }}/ + ${{ secrets.DOCKER_USERNAME }}/jdk-21-spring-boot-3.3.1:latest + + - name: SSH to Remote Server and Deploy + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.REMOTE_HOST }} + username: ${{ secrets.SSH_USERNAME }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ secrets.SSH_PORT }} + script: | + docker-compose -f /home/ubuntu/itzip/docker-compose.yml down + docker-compose -f /home/ubuntu/itzip/docker-compose.yml pull + docker-compose -f /home/ubuntu/itzip/docker-compose.yml up -d + docker system prune -a -f + + - name: Send Success Discord Notification + if: success() + run: | + curl -H "Content-Type: application/json" \ + -d '{"content": "**배포 성공!** :rocket: \n빌드 및 배포 과정이 성공적으로 완료되었습니다."}' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} + + - name: Send Failure Discord Notification + if: failure() + run: | + outcome_message="" + + if [ "${{ steps.build.outcome }}" == "failure" ]; then + outcome_message+="빌드 단계에서 오류 발생. " + fi + + if [ "${{ steps.docker_build.outcome }}" == "failure" ]; then + outcome_message+="Docker 빌드 단계에서 오류 발생. " + fi + + if [ "${{ steps.deploy.outcome }}" == "failure" ]; then + outcome_message+="배포 단계에서 오류 발생. " + fi + + curl -H "Content-Type: application/json" \ + -d '{"content": "**배포 실패!** :x: \n빌드 및 배포 과정에서 오류가 발생했습니다. \n오류 내용: '"${outcome_message}"'"}' \ + ${{ secrets.DISCORD_WEBHOOK_URL }}