sudo apt update
sudo apt install openjdk-11-jre-headless
java -version
명령어를 입력하여 설치가 잘 되었는지 확인한다.git clone
으로 repository를 클론한다.ubuntu@ip-172-31-41-164:~$ git clone git@github.com:bimilless/be-sprint-deployment.git
Cloning into 'im-sprint-practice-deploy'...
Username for 'https://github.com': kimcoding
Password for 'https://kimcoding@github.com:
...
ls
를 입력하여 정상적으로 클론이 되었는지 확인한다.DeployServer
디렉토리로 이동한다.cd be-sprint-deployment/DeployServer
./gradlew build
빌드 진행이 완료되었으면, ls
명령어를 사용하여 build
폴더 확인이 가능하다.
java -jar build/libs/DeployServer-0.0.1-SNAPSHOT.jar
$ nano restart.sh // 에디터로 파일을 생성한 후 아래 내용을 붙여넣기 한다.
================================================================================
#!/bin/bash
# DeployServer-0.0.1-SNAPSHOT.jar가 실행중이라면 프로세스를 종료합니다.
ps -ef | grep "DeployServer-0.0.1-SNAPSHOT.jar" | grep -v grep | awk '{print $2}' | xargs kill -9 2> /dev/null
# 종료 이력을 파악하여 적절한 문구를 출력합니다.
if [ $? -eq 0 ];then
echo "my-application Stop Success"
else
echo "my-application Not Running"
fi
# DeployServer-0.0.1-SNAPSHOT.jar를 다시 실행하기 위한 과정을 진행합니다.
echo "my-application Restart!"
echo $1
# nohup 명령어를 통해 백그라운드에서 DeployServer-0.0.1-SNAPSHOT.jar를 실행합니다.
nohup java -jar build/libs/DeployServer-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev > /dev/null 2>&1 &
리눅스에 위와 같이 파일을 저장하고 아래 명령어를 통해 실행 권한을 부여한다.
chmod 755 restart.sh
위와 같이 명령어를 수행하였으면 아래 명령어를 통해 실행이 가능하다.
./restart.sh
경우에 따라 권한 이슈로 실행이 되지 않는 경우가 있는데, 이 경우 sudo를 붙여 실행하면 오류없이 실행이 된다.
ps -ef | grep 검색어
명령어를 활용하여 실행이 되었는지 확인한다.
ps -ef | grep DeployServer-0.0.1-SNAPSHOT.jar
이걸 몰라서 실행이 되는지 확인을 못하고 생고생을 했다..
우여곡절 끝에 성공했는데, 혹시나 이게 된건지 모르겠어서
ps
명령어를 통해 실행중인 프로세스를 확인하고 kill -9 PID
명령어를 이용해서
실행중인 자바 파일을 kill
했다. 그러고 난 후, 다시 실행했을 때에도 정상적으로 확인이 가능했다.