Linux
[Linux] 프로젝트 배포 스크립트 작성
JuBin
2021. 7. 2. 11:54
반응형
내용은 별거 없지만
원격서버에 올라간 jar파일을 실행하려면
기존 실행되던 서비스 kill processID,
start process를 반복해야되는 번거로움이 있다.
간단한 배포스크립트를 통해 해당 쉘스크립트만 실행해주면 된다.
deploy.sh
#!/bin/bash
REPOSITORY=/root/demo
PROJECT=testJarFile
CURRENT_PID=$(pgrep -f ${PROJECT}*.jar) -- 1
echo "> cd /root/demo"
cd $REPOSITORY
echo ">Now application PID : $CURRENT_PID"
if [ -z "$CURRENT_PID" ]; then -- 2
echo "> There are currently no applications running."
else -- 3
echo "> kill $CURRENT_PID"
kill -15 $CURRENT_PID
sleep 5
fi
echo "> New Applicaion Deploy!!!!!!!"
cd $REPOSITORY
--4
nohup java -jar $PROJECT.jar -Dspring.profiles.active=production --server.address=(adressIp) --smartiot.postfix=1 &
- CURRENT_PID - 현재 실행중인 Process ID 값 저장
- CURRENT_PID값이 존재하지 않다면 실행
- 존재한다면 Process Kill
- nohup &로 jar파일 실행(nohup은 해당 프로세스를 터미널이 종료되도 백그라운드에서 돌아가게 해준다)
2021.07.02 - [Maven] - [Maven] Maven wagon plugin을 이용하여 원격서버 자동배포
[Maven] Maven wagon plugin을 이용하여 원격서버 자동배포
현재 상황은 로컬에서 프로젝트를 빌드해도, 로컬에서 테스트를 할수 없는 상황이다. 테스트 및 수정사항 적용을 위해서는 1. 로컬에서 build 2. SFTP로 build된 jar파일 원격서버(개발서버)로 전송 3.
jubin-developer.tistory.com
2021.01.05 - [Linux] - nohup 명령어
nohup 명령어
# nohup 설명 백그라운드 프로세스로 작업할 떄 사용하는 명령어. nohup은 실행한 명령을 자동으로 백그라운드로 보내지 않고 , 사용자가 명령행 뒤에 '&'를 붙여야 한다. HUP(Hangup) 시그널을 무시하
jubin-developer.tistory.com
반응형