Spring boot 배포 Shell Script 짜기

salgu·2022년 4월 15일
3

스크립트 파일(.sh) 실행파일로 만들기

chmod u+x {대상파일}

출력 (nohup)

  • 1>log.out : log.out로 정상 출력을 보냅니다.
  • 2>err.out : err.out로 오류 출력을 보냅니다.
  • 1>>log.out : log.out에 append 합니다.

1>>log.out 2>>err.out 으로 연결해서 사용가능합니다.

스프링 종료하는 스크립트 예제 : spring-stop.sh

echo "spring boot stop..."
SPRING_PID=${pgrep -f v1-0.0.1-SNAPSHOT.jar}
kill -9 $SPRING_PID

스프링 재시작하는 스크립트 예제 : spring-restart.sh

SPRING_PID=${pgrep -f v1-0.0.1-SNAPSHOT.jar}
SPRING_PATH="/home/ubuntu/aws-v1/build/libs/v1-0.0.1-SNAPSHOT.jar"

echo $SPRING_PID
echo $SPRING_PATH

if [ -z "$SPRING_PID" ]; then
	echo "스프링이 종료된 상태입니다."
    echo "스프링을 재시작합니다. - $(date)" 1>>/home/ubuntu/cron-restart/spring-restart.log
    nohup java -jar $SPRING_PATH 1>log.out 2>err.out &
else
	echo "스프링이 시작된 상태입니다."
fi

배포 프로세스

  1. 기존 서버가 돌아가고 있다면 종료
  2. JDK install (재배포땐 x)
  3. (기존 프로젝트가 있다면 삭제하고) github project clone
  4. gradlew 실행권한 주기
  5. Project build
  6. ubuntu timezone setting (재배포땐 x)
  7. nohup spring boot 실행
  8. cron 자동 재시작 등록
profile
https://github.com/leeeesanggyu, leeeesanggyu@gmail.com

0개의 댓글