1. ホーム
  2. jenkins

[解決済み] Jenkinsのmultibranchパイプラインのbranch name変数とは?

2023-07-06 16:47:40

質問

Jenkinsのマルチブランチパイプラインで、ステップを正しく実行するために、どのブランチがビルドされているのかを知る必要があります。

私たちはgitflowのパターンを使って dev , release そして master の各ブランチがあり、これらはすべて成果物を作成するために使用されます。また dev ブランチは自動デプロイされますが、他の二つはされません。また feature , bugfixhotfix ブランチがあります。これらのブランチはビルドされるべきですが、成果物は生成されません。自分のコードに問題がある場合に、開発者に通知するためだけに使われるべきです。

標準的なビルドでは、私は $GIT_BRANCH 変数にアクセスし、どのブランチがビルドされているかを知ることができますが、この変数は私のマルチブランチパイプラインでは設定されていません。試しに env.GIT_BRANCH も試しましたし $GIT_BRANCH をビルドのパラメータとして渡してみました。何も動作しないようです。私は、ビルドがビルド中のブランチについて知っているので(私はコンソール出力の一番上にブランチ名を見ることができます)、私が使用できる何かがあると仮定しました - 私はちょうどそれへの参照を見つけることができません。

どのように解決すればよいでしょうか。

この env.BRANCH_NAME 変数にはブランチ名が入ります。

の時点では パイプラインGroovyプラグイン2.18 を使えば、単に BRANCH_NAME ( env は必須ではありませんが、それでも構いません)。