JuBin's personal study blog

[Linux] 프로젝트 배포 스크립트 작성 본문

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 &
  1.  CURRENT_PID - 현재 실행중인 Process ID 값 저장
  2.  CURRENT_PID값이 존재하지 않다면 실행
  3.  존재한다면 Process Kill
  4.  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

 

반응형

'Linux' 카테고리의 다른 글

Linux/Ubuntu 명령어 정리  (0) 2021.01.12
nohup 명령어  (0) 2021.01.05
리눅스 심볼릭링크 생성/삭제 예제  (0) 2020.09.20