From 17cf91cf8082749de1ea1978d990fdfa24891584 Mon Sep 17 00:00:00 2001 From: 3Juhwan <13selfesteem91@naver.com> Date: Sat, 8 Feb 2025 15:07:41 +0900 Subject: [PATCH 1/5] =?UTF-8?q?chore:=20=EC=9A=B4=EC=98=81=20=ED=99=98?= =?UTF-8?q?=EA=B2=BD=20=EB=B0=B0=ED=8F=AC=20=EC=8A=A4=ED=81=AC=EB=A6=BD?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-to-prod.yml | 65 ++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/deploy-to-prod.yml diff --git a/.github/workflows/deploy-to-prod.yml b/.github/workflows/deploy-to-prod.yml new file mode 100644 index 0000000..438bb26 --- /dev/null +++ b/.github/workflows/deploy-to-prod.yml @@ -0,0 +1,65 @@ +name: Deploy to Production Server + +on: + push: + branches: [ "release" ] + +jobs: + deploy: + runs-on: [ self-hosted ] + environment: production + + defaults: + run: + shell: bash + + steps: + - name: CheckOut + uses: actions/checkout@v4 + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Test with Gradle Wrapper + run: ./gradlew build + + - name: Copy JAR to Local + run: | + mkdir -p ${{ secrets.APP_DIR }} + cp build/libs/*-SNAPSHOT.jar ${{ secrets.APP_DIR }}/server.jar + + - name: Copy application-prod.yml to Local + run: | + echo "${{ secrets.APPLICATION_YML }}" > ${{ secrets.APP_DIR }}/application-prod.yml + + - name: Stop Existing Application + run: | + set -x + PID=$(pgrep -f "server.jar" || true) + if [ -n "$PID" ]; then + echo "Stopping existing application..." + sudo kill -9 $PID + else + echo "No existing application found." + fi + + - name: Run Application + run: | + echo "Creating logs directory..." + mkdir -p ${{ secrets.APP_DIR }}/logs + + echo "Starting new application..." + sudo nohup java -Dspring.profiles.active=prod \ + -Dspring.config.location=${{ secrets.APP_DIR }}/application-prod.yml \ + -Duser.timezone=Asia/Seoul \ + -Dlogging.file.path=${{ secrets.APP_DIR }}/logs \ + -jar ${{ secrets.APP_DIR }}/server.jar & From 0b637f56667a7e91612362f111c0600db798afb1 Mon Sep 17 00:00:00 2001 From: 3Juhwan <13selfesteem91@naver.com> Date: Sat, 8 Feb 2025 15:21:03 +0900 Subject: [PATCH 2/5] =?UTF-8?q?chore:=20=ED=99=98=EA=B2=BD=EB=B3=84=20runn?= =?UTF-8?q?er=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-to-dev.yml | 2 +- .github/workflows/deploy-to-prod.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-to-dev.yml b/.github/workflows/deploy-to-dev.yml index 4f8ff5a..e4397c2 100644 --- a/.github/workflows/deploy-to-dev.yml +++ b/.github/workflows/deploy-to-dev.yml @@ -6,7 +6,7 @@ on: jobs: deploy: - runs-on: [ self-hosted ] + runs-on: [ self-hosted, "test-server" ] environment: develop defaults: diff --git a/.github/workflows/deploy-to-prod.yml b/.github/workflows/deploy-to-prod.yml index 438bb26..11ef0c0 100644 --- a/.github/workflows/deploy-to-prod.yml +++ b/.github/workflows/deploy-to-prod.yml @@ -6,7 +6,7 @@ on: jobs: deploy: - runs-on: [ self-hosted ] + runs-on: [ self-hosted, "prod-server" ] environment: production defaults: From 4fed4cafb615ed2850b645f57732292a757962c6 Mon Sep 17 00:00:00 2001 From: 3Juhwan <13selfesteem91@naver.com> Date: Sat, 8 Feb 2025 15:21:18 +0900 Subject: [PATCH 3/5] =?UTF-8?q?chore:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=20=ED=8A=B8=EB=A6=AC=EA=B1=B0=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-to-prod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-to-prod.yml b/.github/workflows/deploy-to-prod.yml index 11ef0c0..a30f0ef 100644 --- a/.github/workflows/deploy-to-prod.yml +++ b/.github/workflows/deploy-to-prod.yml @@ -2,7 +2,7 @@ name: Deploy to Production Server on: push: - branches: [ "release" ] + branches: [ "release", "chore/57-deploy-to-prod" ] jobs: deploy: From e0a7f76f736379659d08b48437884316f3f9b4ad Mon Sep 17 00:00:00 2001 From: 3Juhwan <13selfesteem91@naver.com> Date: Sat, 8 Feb 2025 15:27:00 +0900 Subject: [PATCH 4/5] =?UTF-8?q?chore:=20=EB=9F=AC=EB=84=88=20=ED=83=9C?= =?UTF-8?q?=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-to-dev.yml | 2 +- .github/workflows/deploy-to-prod.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-to-dev.yml b/.github/workflows/deploy-to-dev.yml index e4397c2..a40e073 100644 --- a/.github/workflows/deploy-to-dev.yml +++ b/.github/workflows/deploy-to-dev.yml @@ -6,7 +6,7 @@ on: jobs: deploy: - runs-on: [ self-hosted, "test-server" ] + runs-on: [ self-hosted, "dev" ] environment: develop defaults: diff --git a/.github/workflows/deploy-to-prod.yml b/.github/workflows/deploy-to-prod.yml index a30f0ef..cfd5a6a 100644 --- a/.github/workflows/deploy-to-prod.yml +++ b/.github/workflows/deploy-to-prod.yml @@ -6,7 +6,7 @@ on: jobs: deploy: - runs-on: [ self-hosted, "prod-server" ] + runs-on: [ self-hosted, "prod" ] environment: production defaults: From f671f83ed2c4f0c1f69071032d5a3a2b3555625e Mon Sep 17 00:00:00 2001 From: 3Juhwan <13selfesteem91@naver.com> Date: Sat, 8 Feb 2025 15:49:48 +0900 Subject: [PATCH 5/5] =?UTF-8?q?chore:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy-to-prod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-to-prod.yml b/.github/workflows/deploy-to-prod.yml index cfd5a6a..1d5782e 100644 --- a/.github/workflows/deploy-to-prod.yml +++ b/.github/workflows/deploy-to-prod.yml @@ -2,7 +2,7 @@ name: Deploy to Production Server on: push: - branches: [ "release", "chore/57-deploy-to-prod" ] + branches: [ "release" ] jobs: deploy: