取得した値は環境変数 BUILD_BRANCH に登録する.
Jenkinsの設定画面
pipeline の場合
SCMの追加処理で “specific local branch” を追加する.
multi branch pipeline で Branch Sources に GitHubを使用している場合
Additional で “Check out to matching local branch” を追加する.
Jenkinsfile
最初のstageとして以下を追加
stage('pre setup'){ steps{ script{ env.BUILD_BRANCH = sh(returnStdout: true, script: 'git rev-parse --abbrev-ref @').trim() } } }
泣き言
そもそも multi branch pipeline を使っている時は 環境変数 BRANCH_NAME に登録されているという話。
ただのpipelineで組んだらエラー吐いて何ぞそれ?になって悩んでみた。
上の方法だと、ローカルのブランチ名をリモートに追随させるために設定画面の方を触る必要があるけど、gitのコマンドラインあたりをなんとかしたらそこは必要なくなるかも。
いずれにしても、ワークスペースにcheckoutする必要があるので、Jenkinsfileのoptions 句で skipDefaultCheckout() が定義されていると無意味。