Github Repo를 이용한 스프링 서버 다운로드 및 배포 shell (deploy.sh)

sckwon770·2023년 10월 30일
0

스프링 부트

목록 보기
2/10

이전 노션 블로그의 Github Repo를 이용한 스프링 서버 다운로드 및 배포 shell (deploy.sh) (2021.03.16)로부터 마이그레이션된 글입니다.

From Build to Run

deploy.sh

#!/bin/bash

REPOSITORY=/home/ec2-user/app/step1
PROJECT_NAME=spring-aws-book

cd $REPOSITORY/$PROJECT_NAME/

echo "> Git Pull"

git pull

echo "> 프로젝트 Build 시작"

./gradlew build

echo "> step1 디렉토리 이동"

cd $REPOSITORY

echo "> Build 파일 복사"

cp $REPOSITORY/$PROJECT_NAME/build/libs/*.jar $REPOSITORY/

echo "> 현재 구동중인 애플리케이션 pid 확인"

pwd

CURRENT_PID=$(pgrep -f ${REPOSITORY}.\*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.properties,/home/ec2-user/app/application-oauth.properties,/home/ec2-user/app/application-real-db.properties,classpath:/application-real.properties \
        -Dspring.profiles.active=real \
       $REPOSITORY/$JAR_NAME 2>&1 &
profile
늘 학습하고 적용하고 개선하는 개발자

0개의 댓글