From cd55ed9df1e987e1878224de2270c10a9e237d56 Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Mon, 30 Jun 2025 20:17:13 +0900 Subject: [PATCH 1/2] =?UTF-8?q?chore:=20CI/CD=20=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A6=BD=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-admin.yml | 8 ++++---- .../com/nowait/applicationadmin/ApiAdminApplication.java | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-admin.yml b/.github/workflows/deploy-admin.yml index 402534c7..ded6b60d 100644 --- a/.github/workflows/deploy-admin.yml +++ b/.github/workflows/deploy-admin.yml @@ -66,10 +66,10 @@ jobs: - name: S3에 업로드 run: | aws deploy push \ - --application-name "${{ env.AWS_CODE_DEPLOY_APPLICATION }}" \ - --ignore-hidden-files \ - --s3-location "s3://${{ env.AWS_S3_BUCKET }}/${{ env.PROJECT_NAME }}/${{ env.DIVISION }}/${{ github.sha }}.zip" \ - --source "${{ env.PROJECT_NAME }}-${{ env.DIVISION }}-${{ github.sha }}.zip" + --application-name "${{ env.AWS_CODE_DEPLOY_APPLICATION }}" \ + --ignore-hidden-files \ + --s3-location "s3://${{ env.AWS_S3_BUCKET }}/${{ env.PROJECT_NAME }}/${{ env.DIVISION }}/${{ github.sha }}.zip" \ + --source deploy - name: EC2에 배포 run: | diff --git a/application-admin/src/main/java/com/nowait/applicationadmin/ApiAdminApplication.java b/application-admin/src/main/java/com/nowait/applicationadmin/ApiAdminApplication.java index 5f43869a..a3347acb 100644 --- a/application-admin/src/main/java/com/nowait/applicationadmin/ApiAdminApplication.java +++ b/application-admin/src/main/java/com/nowait/applicationadmin/ApiAdminApplication.java @@ -33,3 +33,4 @@ public static void main(String[] args) { org.springframework.boot.SpringApplication.run(ApiAdminApplication.class, args); } } + From d6bae86ac5eebc9c57d6a2415ce1a7553b8a60d6 Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Mon, 30 Jun 2025 20:19:59 +0900 Subject: [PATCH 2/2] =?UTF-8?q?chore:=20CI/CD=20=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A6=BD=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-admin.yml | 106 +++++++++++++++-------------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/.github/workflows/deploy-admin.yml b/.github/workflows/deploy-admin.yml index ded6b60d..36dbc96c 100644 --- a/.github/workflows/deploy-admin.yml +++ b/.github/workflows/deploy-admin.yml @@ -2,8 +2,8 @@ name: Dev Admin CI/CD on: push: - branches: - - develop + branches: + - develop paths: - 'application-admin/**' - 'common/**' @@ -21,60 +21,62 @@ env: AWS_S3_BUCKET: nowait-deploy-github-actions AWS_CODE_DEPLOY_APPLICATION: nowaiting AWS_CODE_DEPLOY_GROUP: nowaiting-deploy-dev-admin - + jobs: build-with-gradle: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: JDK 17 설치 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'zulu' - - - name: gradlew에 실행 권한 부여 - run: chmod +x ./gradlew + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'zulu' + + - name: Make gradlew executable + run: chmod +x ./gradlew + + - name: Set YML + run: | + mkdir -p application-admin/src/main/resources + echo "${{ secrets.APPLICATION_DEV_ADMIN_YML }}" \ + | base64 --decode \ + > application-admin/src/main/resources/application-admin.yml + find application-admin/src + + - name: Build Admin JAR + run: ./gradlew clean :application-admin:bootJar -x test + + - name: Prepare deployment package + run: | + rm -rf deploy && mkdir deploy + cp application-admin/build/libs/application-admin-*.jar deploy/application-admin.jar + cp scripts/start-admin.sh scripts/stop-admin.sh appspec-admin.yml deploy/ + cd deploy + zip -r ../${{ env.PROJECT_NAME }}-${{ env.DIVISION }}-${{ github.sha }}.zip . + cd .. - - name: Set YML - run: | - mkdir -p application-admin/src/main/resources - echo "${{ secrets.APPLICATION_DEV_ADMIN_YML }}" | base64 --decode > application-admin/src/main/resources/application-admin.yml - find application-admin/src - - - name: 프로젝트 빌드 - run: ./gradlew clean :application-admin:bootJar -x test + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-region: ${{ env.AWS_REGION }} + aws-access-key-id: ${{ secrets.DEVSERVER_CICD_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.DEVSERVER_CICD_SECRET_KEY }} - - name: Prepare deployment package - run: | - rm -rf deploy && mkdir deploy - cp application-admin/build/libs/application-admin-*.jar deploy/application-admin.jar - cp scripts/start-admin.sh scripts/stop-admin.sh appspec-admin.yml deploy/ - cd deploy - zip -r ../${{ env.PROJECT_NAME }}-${{ env.DIVISION }}-${{ github.sha }}.zip . - cd .. - - - name: AWS credential 설정 - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-region: ${{ env.AWS_REGION }} - aws-access-key-id: ${{ secrets.DEVSERVER_CICD_ACCESS_KEY }} - aws-secret-access-key: ${{ secrets.DEVSERVER_CICD_SECRET_KEY }} - - - name: S3에 업로드 - run: | - aws deploy push \ - --application-name "${{ env.AWS_CODE_DEPLOY_APPLICATION }}" \ - --ignore-hidden-files \ - --s3-location "s3://${{ env.AWS_S3_BUCKET }}/${{ env.PROJECT_NAME }}/${{ env.DIVISION }}/${{ github.sha }}.zip" \ - --source deploy + - name: Upload to S3 + run: | + aws deploy push \ + --application-name "${{ env.AWS_CODE_DEPLOY_APPLICATION }}" \ + --ignore-hidden-files \ + --s3-location "s3://${{ env.AWS_S3_BUCKET }}/${{ env.PROJECT_NAME }}/${{ env.DIVISION }}/${{ github.sha }}.zip" \ + --source deploy - - name: EC2에 배포 - run: | - aws deploy create-deployment \ - --application-name ${{ env.AWS_CODE_DEPLOY_APPLICATION }} \ - --deployment-config-name CodeDeployDefault.AllAtOnce \ - --deployment-group-name ${{ env.AWS_CODE_DEPLOY_GROUP }} \ - --s3-location bucket=${{ env.AWS_S3_BUCKET }},key=${{ env.PROJECT_NAME }}/${{ env.DIVISION }}/${{ github.sha }}.zip,bundleType=zip + - name: Create CodeDeploy deployment + run: | + aws deploy create-deployment \ + --application-name ${{ env.AWS_CODE_DEPLOY_APPLICATION }} \ + --deployment-config-name CodeDeployDefault.AllAtOnce \ + --deployment-group-name ${{ env.AWS_CODE_DEPLOY_GROUP }} \ + --s3-location bucket=${{ env.AWS_S3_BUCKET }},key=${{ env.PROJECT_NAME }}/${{ env.DIVISION }}/${{ github.sha }}.zip,bundleType=zip