From aa4e1560dda4b864f30c1e9482c4d0ac443233ca Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Wed, 9 Jul 2025 12:03:19 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=8F=84=EC=BB=A4=20=EA=B5=AC=EB=8F=99?= =?UTF-8?q?=EC=9D=84=20=EC=9C=84=ED=95=9C=20sh=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-docker.yml | 15 ++++++++--- .../java/com/nowait/ApiAdminApplication.java | 1 + scripts/deploy-admin-docker | 27 +++++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 scripts/deploy-admin-docker diff --git a/.github/workflows/deploy-admin-docker.yml b/.github/workflows/deploy-admin-docker.yml index 0d6dfbc6..0be43eea 100644 --- a/.github/workflows/deploy-admin-docker.yml +++ b/.github/workflows/deploy-admin-docker.yml @@ -80,6 +80,16 @@ jobs: source: "docker-compose.yml" target: ${{ env.EC2_DEPLOY_PATH }} + - name: Copy deploy-admin-docker to EC2 + uses: appleboy/scp-action@master + with: + host: ${{ secrets.EC2_HOST }} + username: ${{ secrets.EC2_USER }} + key: ${{ secrets.EC2_SSH_KEY }} + port: ${{ secrets.EC2_PORT }} + source: "scripts/deploy-admin-docker" + target: "${{ env.EC2_DEPLOY_PATH }}/scripts/" + - name: Login to DockerHub uses: docker/login-action@v1 with: @@ -100,7 +110,6 @@ jobs: envs: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION script: | cd ${{ env.EC2_DEPLOY_PATH }} - sudo docker rm -f nowait-app-admin-api || true - sudo docker-compose -p nowait_dev pull nowait-app-admin-api - sudo docker-compose -p nowait_dev up -d nowait-app-admin-api + chmod +x ./scripts/deploy-admin-docker + ./scripts/deploy-admin-docker diff --git a/nowait-app-admin-api/src/main/java/com/nowait/ApiAdminApplication.java b/nowait-app-admin-api/src/main/java/com/nowait/ApiAdminApplication.java index 1098599d..363e737d 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/ApiAdminApplication.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/ApiAdminApplication.java @@ -10,3 +10,4 @@ public static void main(String[] args) { org.springframework.boot.SpringApplication.run(ApiAdminApplication.class, args); } } + diff --git a/scripts/deploy-admin-docker b/scripts/deploy-admin-docker new file mode 100644 index 00000000..b0740906 --- /dev/null +++ b/scripts/deploy-admin-docker @@ -0,0 +1,27 @@ +#!/bin/bash + +REPOSITORY="/home/ubuntu/spring-github-action-admin-docker" +cd $REPOSITORY + +START_LOG="$REPOSITORY/start.log" + +echo "1. find container id" +CONTAINER_ID=$(docker ps -q --filter "name=nowait-app-admin-api") + +echo "2. stop container" +if [ -n "$CONTAINER_ID" ]; then + echo "Stopping container $CONTAINER_ID" + docker rm -f "$CONTAINER_ID" +else + echo "No admin container found." +fi + +echo "3. start container" +sudo docker-compose -p nowait_dev pull nowait-app-admin-api +sudo docker-compose -p nowait_dev up -d nowait-app-admin-api + +echo "4. check container status" +NEW_CONTAINER_ID=$(docker ps -q --filter "name=nowait-app-admin-api") +NOW=$(date +%c) + +echo "[$NOW] > Container ID: $NEW_CONTAINER_ID"