흰 스타렉스에서 내가 내리지

[구]배포 스크립트 만들기 - EC2, Amazon Linux 본문

AWS

[구]배포 스크립트 만들기 - EC2, Amazon Linux

주씨. 2022. 10. 29. 03:19
728x90

jar 파일 뽑아서 clone 해서 외부서버에서 받아와서 

 

sudo apt update

sudo apt-get install git

sudo apt install openjdk-17-jdk openjdk-17-jre -y

 

git clone 

application.yml

 

deploy.sh

#!/bin/bash

REPOSITORY=/home/ubuntu
PROJECT_NAME=ITerview-BE

echo "> 프로젝트 Build 시작"
cd $REPOSITORY/$PROJECT_NAME
./gradlew build

echo "> 홈으로 이동"
cd $REPOSITORY

echo "> Build 파일 복사"
cp $REPOSITORY/$PROJECT_NAME/build/libs/*.jar $REPOSITORY

echo "> 현재 구동중이 애플리케이션 pid 확인"
CURRENT_PID=$(pgrep -f ${PROJECT_NAME}.*.jar)

echo "현재 구동 중인 애플리케이션 pid: $CURRENT_PID"

if [ -z "$CURRENT_PID" ]; then
    echo "> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않습니다."
else
    echo "> kill -15 $CURRENT_PID"
    kill -15 $CURRENT_PID
    sleep 5
fi

echo "> 새 애플리케이션 배포"

JAR_NAME=$(ls -tr $REPOSITORY/ | grep jar | tail -n 1)

echo "> JAR Name: $JAR_NAME"

nohup java -jar -Dspring.config.location=classpath:/application.yml, /home/ubuntu/application.yml $REPOSITORY/$JAR_NAME 2>&1 &

chmod +x deploy.sh

./deploy.sh