Jenkins Pipeline multipleSCM

Jenkins CI for multipleSCM with pipeline job

java Project : [ test-core, test-admin]
[test-admin project] extends to [test-core project]

show jenkinsFile

젠킨스의 multiple SCM을 pipeline으로 작성하였다.

test-admin프로젝트는 test-core프로젝트를 의존하고 있다.
gradle에서는 test-core를 의존성 프로젝트로써 관리하고 있기때문에
각각의 레파지토리에서 체크아웃한다.

gradle빌드 스크립트는 test-admin에 있기 때문에 체크아웃 받은
sub-directory로 이동, dir(‘test-admin’)내에서 build.gradle 파일을 build한다.

jenkins 플러그인 GitSCM을 multiple로 사용해서 인지. 체크아웃 받은 커밋ID를 알수 없다.
별수 없이 Shell script실행하여 CommitID를 가져온다.

CommitID는 빌드태그를 달기 위해 참조한다.

git Tag를 달기위해 젠킨스 credentials을 이용하여 local git을 인증 후에 태그를 작성하여 push한다.

마지막으로 슬랙 메시지를 전송한다.
슬랙 메시지는 finally구문에서 실행된다.

깔끔하게 정리 되지 않았기 때문에 해당 포스트는 추후 정리 예정

  • Jenkins에서 제공하는 Pipeline Syntax Generator를 참조하면
    properties같은 것들은 쉽게 작성이 가능하다.

Written by

엘디는 사랑입니다.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store