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"