Build and deploy

[4] 젠킨스 Jenkins SVN + MAVEN + 부트 JAR 빌드 자동화 배포

dev.mk 2024. 1. 28. 16:11
반응형

10분마다 SVN서버에서 pull 받고 빌드 후 배포 하는 방법을 간단하게 정리하겠다.

스프링부트 프로젝트는 보통 jar 파일로 배포된다.

 

※ 삽질내용

Build Steps 단계의 Excute Shell 에 jar실행 스크립트만 작성하면 될줄알았는데 기존빌드가 종료되지 않아 팬딩오류가 발생하였음

 

※ 사전 준비 (중요)

- POST BUILD TESK 플러그인 설치하기

post build task 플러그인 빌드가 성공했을 경우에만 후 조치로 기존 앱을 종료시키고 새로운 앱으로 교체 및 시작하는 과정을 진행하도록 도와주는 역할을 한다.

 

1. 아이템생성, Freestyle project 선택

 

 

2. SVN 정보 입력 , 자세한 입력방법은 이전페이지 참고

 

 

3. 빌드 유발 입력

 

크론탭 포맷으로 스케쥴을 입력한다. 위의 설정은 > 매 10분마다 실행

 

 

4. 메이븐 설정 

-Build steps > Invoke top-level Maven targets 선택 후 작성한다.

 

※ 반드시 메이븐 기본 설정은 미리

Dashboard > Jenkins 관리 > Tools > Maven installations 에 해놓아야 한다.

딱히 어려운 설정은 없다.  Install automatically 옵션만 체크하면 알아서 설치한다.

 

 

5. Post build task 작성, 이 포스트에서 가장 중요한부분

 

Script 내용

echo "Build 성공"
pkill -f stsProject.jar || true
sleep 10
java -jar /Users/devmk/.jenkins/workspace/svn_maven_jar/target/stsProject.jar &

 

위의 스크립트내용은 현재 실행되있는 jar 파일을 한번 종료시키고 10초 후 재기동하는 명령어다.

 

Log text란 특정 텍스트를 캐치하여 성공이라 판단하고 Script를 실행한다는 의미다. BUILD SUCCESS 라고 적은 이유는

메이븐 빌드가 성공하면 BUILD SUCCESS 란 문구를 출력한다.

이 문구를 출력하여 정상적인 빌드로 판단하고 TRUE를 반환하여

마지막에 쉘스크립트를 실행한다는 의미다.

 

이렇게 설정하면

10분마다 svn을 pull받아 리빌딩후 jar명령어로 배포한다.

반응형