스프링부트 재시작 스크립트 - 15/17 AWS EC2 JENKINS 스프링부트 자동배포
1. AWS EC2 인스턴스 생성
2. EC2 보안그룹 인바운드 규칙 접속 설정
3. Putty로 EC2접속, PPK키 생성
4. EC2 인스턴스에 스왑 파티션 생성, 설정
5. EC2에 자바1.8 설치, 설정
6. EC2에 젠킨스 설치
7. 젠킨스 접속 포트 변경
8. 젠킨스 SSH, 메이븐, 깃 플러그인 설치
9. EC2에 깃 프로그램 설치
10. EC2에 메이븐 설치
11. 젠킨스에 자바 설정
12. 젠킨스에 메이븐 연결
13. 젠킨스에 깃허브 연동, 빌드
14. 스프링부트 서버 실행, 8080, 80포트 포워딩
15. 스프링부트 재시작 스크립트
16. Publish over SSH 설정
17. 젠킨스 깃허브 웹훅 자동빌드 설정
2. EC2 보안그룹 인바운드 규칙 접속 설정
3. Putty로 EC2접속, PPK키 생성
4. EC2 인스턴스에 스왑 파티션 생성, 설정
5. EC2에 자바1.8 설치, 설정
6. EC2에 젠킨스 설치
7. 젠킨스 접속 포트 변경
8. 젠킨스 SSH, 메이븐, 깃 플러그인 설치
9. EC2에 깃 프로그램 설치
10. EC2에 메이븐 설치
11. 젠킨스에 자바 설정
12. 젠킨스에 메이븐 연결
13. 젠킨스에 깃허브 연동, 빌드
14. 스프링부트 서버 실행, 8080, 80포트 포워딩
15. 스프링부트 재시작 스크립트
16. Publish over SSH 설정
17. 젠킨스 깃허브 웹훅 자동빌드 설정
이미 실행중인 서버가 있으면 중지하고,
서버를 시작하는 스크립트를 만들겠습니다.
직접 실행할 수도 있고, 젠킨스 빌드 후에 서버를 재시작하기 위한 스크립트 입니다.
1. webapps 디렉토리 생성, 스크립트 파일 생성
mkdir /home/ec2-user/webapps
cd /home/ec2-user/webapps
vi /home/ec2-user/webapps/start.sh
2. 스크립트 복사 > 붙여넣기
#!/bin/bash
REPOSITORY=/home/ec2-user/webapps
echo "REPOSITORY = $REPOSITORY"
cd $REPOSITORY
PROJECT_NAME=springboot
echo "PROJECT_NAME = $PROJECT_NAME"
PROJECT_PID=$(pgrep -f $PROJECT_NAME)
echo "PROJECT_PID = $PROJECT_PID"
if [ -z $PROJECT_PID ]; then
echo "no running project"
else
kill -9 $PROJECT_PID
sleep 3
fi
JAR_NAME=$(ls $REPOSITORY/ | grep $PROJECT_NAME | tail -n 1)
echo "JAR_NAME = $JAR_NAME"
java -jar $REPOSITORY/$JAR_NAME &
3. 스크립트 파일에 실행권한 부여 > 스크립트 실행
chmod 770 /home/ec2-user/webapps/start.sh
/home/ec2-user/webapps/start.sh
4. 실행된 스프링부트 프로젝트 확인