[Jenkins] - AWS + 젠킨스 + 스프링 부트 ci/cd 구현 5
이제 배포 파일을 만들어서 빌드만 시키면 됩니다.
1. Build
위의 사진처럼 작성해 주세요
clean build는
./gradlew clean build와 같습니다.
2. 빌드 후 조치
먼저 설정하기 전에 배포용 쉘을 작성하겠습니다.
webapps 디렉토리를 만들고 그 안에 쉘을 만들고 내용을 작성하겠습니다.
sudo mkdir /home/ec2-user/webapps
sudo vi /home/ec2-user/webapps/start.sh
#!/bin/bash
REPOSITORY={jar파일이 생성된 경로}
#ex) REPOSITORY=/home/ec2-user/jenkins-home
echo "REPOSITORY = $REPOSITORY"
cd $REPOSITORY
PROJECT_NAME={프로젝트 명}
#ex) PROJECT_NAME=react-back
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 &
다 되셨으면 다시 젠킨스로와서
프로젝트 -> 구성 -> 빌드 후 조치에 아래 사진처럼 작성합니다.
작성이 끝나면 고급을 눌러 아래 사진처럼 Exec in pty를 체크해주세요
다음으로 Publish over SSH도 설정을 해야 합니다.
Jenkins관리 -> 시스템 구성 -> Publish over SSH
key : aws 인스턴스 접속할 때 쓰던 pem키의 내용을 적으시면 됩니다.
hostname : aws인스턴스 공인 아이피
username : aws 유저 네임
Remote Directory : 생성한 배포파일이 업로드 될 경로
테스트해서 성공까지 뜨면 배포까지 설정이 끝났습니다.
이제 대시보드에서 build now를 누르고
빌드가 성공했으면
콘솔에 ps -ef | grep jar를 입력하여 자르 파일이 정상적으로 실행됐는지 확인하시면 됩니다.
$ ps -ef | grep jar
jenkins 3177 1 0 May13 ? 00:09:44 /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
ec2-user 4377 1 0 May14 ? 00:03:45 java -jar /home/ec2-user/jenkins-home/react-back-0.0.1-SNAPSHOT.jar
ec2-user 16462 15680 0 14:25 pts/1 00:00:00 grep --color=auto jar
'Jenkins' 카테고리의 다른 글
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 5 (0) | 2021.05.12 |
---|---|
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 4 (0) | 2021.05.12 |
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 3 (0) | 2021.05.12 |
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 2 (0) | 2021.05.12 |
AWS + 젠킨스 + 스프링 부트 ci/cd 구현 1 (0) | 2021.05.12 |