1. jenkins > 새로운 Item
2. 아이템이름과 Freestyle project 선택 후 OK
3. 소스 코드 관리 > Credentials 추가
Kind : Username with password
Username : 깃 계정 아이디
Password : 깃 계정 비밀번호
입력 후 저장
4. 소스 코드 관리 > 깃 정보 입력
Git Repository : 깃 주소 입력
Credentials : 위에서 만든 깃 계정 정보 선택
Branch Specifier : 빌드 할 브랜치 입력 (master, develop ...)
5. Gradle 설정 추가
Build Steps > Add Build Step > Invoke Gradle Script 추가
Invoke Gradle > Gradle Version 선택
Tasks > bootjar 입력
Gradle Version은 프로젝트 gradle 버전과 맞춰서 설정
Jenkins > Jenkins 관리 > Tools 에서 생성가능
Gradle > 고급 > 아래쪽 Build File 작성
ex) boot/build.gradle
6. Execute Shell 추가
/bin/sh -xe /app/boot/patch/patch.sh 입력 (경로는 쉘스크립트 있는 경로 맞게 수정)
java -jar app.jar 이렇게 쓰지않고 쉘 스크립트에 명령어를 한번에 정리해서 실행하려고 위처럼 작성
<쉘 스크립트 내용>
echo "start ..."
cd /var/jenkins_home/workspace/boot/projectName/build/libs
export BUILD_ID=dontKillMe
nohup java -jar projectName-1.0.jar --spring.profiles.active=dev > /dev/null 2>&1 &
echo "end ..."
docker 로 jenkins 를 띄웠을 시 보통 /2에서 만든 젠킨스 아이템이름/깃 프로젝트 이름/build/libs 에 .jar 파일이 생성된다.
그게 아닐 경우 .jar 파일을 find / -name 프로젝트이름.jar 명령어로 경로를 찾으면 된다.
jar 파일 이름은 프로젝트이름-build.gradle 에 있는 version 이다.
ex) 프로젝트이름 : boot , version : 1.0 일시 jar 파일이름은 boot-1.0.jar
2번째줄 cd 뒤의 경로는 .jar 파일이 있는 경로를 적어주면 된다.
3번째줄은 jar 파일 실행 시 jenkins 로 빌드하면 백그라운드로 실행 안해주면 빌드가 안끝나고 무한 뱅글뱅글 돌기 때문에 적어준다.
4번째줄도 마찬가지로 백그라운드로 jar 파일 실행하기 위해 적어준다.
첫번째줄과 마지막줄은 그저 쉘 스크립트가 실행되는지 위한 확인용도다.
쉘 스크립트는 원하는 경로를 cd 로 이동후 vi patch.sh 써주면 쉘스크립트 파일을 생성할 수 있다.
7. 저장 후 실행
저장 후 빌드 > application.properties 에서 설정했던 포트로 접속해보면 사이트가 떠있는 것을 확인할 수 있다.