Using env.BRANCH_NAME on Jenkins Multibranch Pipeline
Jenkins Multibranch Pipelineで、ビルドの契機となったブランチに応じて固有の処理を行いたい場合があります。例えば、masterブランチがpushされた場合のみテスト環境にデプロイするといった使い方が考えられます。Travis CIの TRAVIS_BRANCH
、Circle CIの deployment:
ブロックに該当する機能ですね。
Jenkins Multibranch Pipelineでは、ビルドの契機となったブランチは env.BRANCH_NAME
で取得できます。
Jenkinsfileで env.BRANCH_NAME
の内容に応じて処理を分岐させることも可能です。
node { stage('Deploy') { if (env.BRANCH_NAME == 'master') { // masterブランチのみで実行したい処理 sh './gradlew deploy' } } }
残念ながら、tag pushを契機に固有の処理を行うことはできないようです。
[JENKINS-34395] Support for building tags - Jenkins JIRA
バージョンタグを契機にMaven Repositoryにリリースするとかできると便利なんですけどね。