Jenkins credentials binding , using in script

젠킨스를 사용하다 보면 스크립트에서 설정한 credential을 참조해야할 때 가 있다.

나는 SCM으로 multipleSCM을 사용중인데.
이 경우 git publisher를 통해 자동적으로 태그를 생성하거나 하는 기능을 쓸수가 없다.

Credentials Binding Plugin 을 사용하면 특정 credential을 빌드 환경변수로 지정하여 사용할수 있다.

Image for post
Image for post

Credentail의 username and password이외에도 secretFile..등 젠킨스에서 지원하는 설정들을 참조하여 바인딩 할수있다.

  • git tag를 생성하는 스크립트는 아래와 같다.

multipleSCM이기 때문에 지정한 sub directory로 이동한다.
cd ${WORKSPACE}/ec-admin

아래와 같은 git config로 git 사용자 인증에 필요한 정보를 설정한다.
git config — global — replace-all user.email ${GIT_USERNAME}
git config — global — replace-all user.name ${GIT_USERNAME}
git config credential.helper “!echo password=\\${GIT_PASSWORD} ; echo”

아래와 같이 TAGNAME을 지정하여 git tag 명령어로 lightweight 태그를 생성한다.
TAGNAME=”${JOB_NAME}_${BUILD_ID}”
git tag $TAGNAME
git push origin $TAGNAME

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