From 1b43baf12d2610291daa29158bce779e19ef9b8b Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 21 Jul 2023 19:45:23 +0900 Subject: [PATCH] =?UTF-8?q?CodeDeploy=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 --- appspec.yml | 18 ++++++++++++++++++ scripts/kill_process.sh | 16 ++++++++++++++++ scripts/run_process.sh | 12 ++++++++++++ ...veApplication.kt => SodaLiveApplication.kt} | 4 ++-- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 appspec.yml create mode 100644 scripts/kill_process.sh create mode 100644 scripts/run_process.sh rename src/main/kotlin/kr/co/vividnext/sodalive/{SodaliveApplication.kt => SodaLiveApplication.kt} (74%) diff --git a/appspec.yml b/appspec.yml new file mode 100644 index 0000000..77ea8fe --- /dev/null +++ b/appspec.yml @@ -0,0 +1,18 @@ +version: 0.0 +os: linux + +files: + - source: / + destination: /home/ec2-user + overwrite: yes + +hooks: + ApplicationStart: + - location: scripts/run_process.sh # ApplicationStart 단계에서 해당 파일을 실행해라 + timeout: 60 + runas: ec2-user + + ApplicationStop: + - location: scripts/kill_process.sh # ApplicationStart 단계에서 해당 파일을 실행해라 + timeout: 100 + runas: ec2-user diff --git a/scripts/kill_process.sh b/scripts/kill_process.sh new file mode 100644 index 0000000..14ff76d --- /dev/null +++ b/scripts/kill_process.sh @@ -0,0 +1,16 @@ +#!/bin/bash +BUILD_JAR=$(ls /home/ec2-user/build/libs/*.jar) # jar가 위치하는 곳 +JAR_NAME=$(basename $BUILD_JAR) +echo "> build 파일명: $JAR_NAME" >> /home/ec2-user/deploy.log + +echo "> 현재 실행중인 애플리케이션 pid 확인" >> /home/ec2-user/deploy.log +CURRENT_PID=$(pgrep -f $JAR_NAME) + +if [ -z $CURRENT_PID ] +then + echo "> 현재 구동중인 애플리케이션이 없으므로 종료하지 않습니다." >> /home/ec2-user/deploy.log +else + echo "> kill -15 $CURRENT_PID" + kill -15 $CURRENT_PID + sleep 5 +fi diff --git a/scripts/run_process.sh b/scripts/run_process.sh new file mode 100644 index 0000000..c0826ba --- /dev/null +++ b/scripts/run_process.sh @@ -0,0 +1,12 @@ +#!/bin/bash +BUILD_JAR=$(ls /home/ec2-user/build/libs/*.jar) # jar가 위치하는 곳 +JAR_NAME=$(basename $BUILD_JAR) + +echo "> build 파일 복사" >> /home/ec2-user/deploy.log +DEPLOY_PATH=/home/ec2-user/ +cp $BUILD_JAR $DEPLOY_PATH + +DEPLOY_JAR=$DEPLOY_PATH$JAR_NAME +echo "> DEPLOY_JAR 배포" >> /home/ec2-user/deploy.log +chmod +x $DEPLOY_JAR +nohup java -jar $DEPLOY_JAR >> /home/ec2-user/deploy.log 2> /dev/null < /dev/null & diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/SodaliveApplication.kt b/src/main/kotlin/kr/co/vividnext/sodalive/SodaLiveApplication.kt similarity index 74% rename from src/main/kotlin/kr/co/vividnext/sodalive/SodaliveApplication.kt rename to src/main/kotlin/kr/co/vividnext/sodalive/SodaLiveApplication.kt index 94e947f..1a8e541 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/SodaliveApplication.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/SodaLiveApplication.kt @@ -4,8 +4,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication @SpringBootApplication -class SodaliveApplication +class SodaLiveApplication fun main(args: Array) { - runApplication(*args) + runApplication(*args) }