-
[4] 젠킨스 Jenkins SVN + MAVEN + 부트 JAR 빌드 자동화 배포Build and deploy 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명령어로 배포한다.
반응형'Build and deploy' 카테고리의 다른 글
젠킨스(jenkins) 원격 SSH 연결 후 쉘스크립트 실행하기 (0) 2024.09.14 [3] 젠킨스 Jenkins 빌드 이력 관리 (0) 2024.01.25 [2] 젠킨스 Jenkins SVN 커밋 감지 후 빌드 배포하기 (0) 2024.01.25 [1] 젠킨스 Jenkins 스프링부트 war+Maven+Tomcat+Svn 빌드 및 배포 (2) 2024.01.21 [MAC] 젠킨스(Jenkins) 기본포트 변경하기 (2) 2022.11.21