問題
- ソースコードと同じレポジトリにJenkinsfileを配置し、Pipeline script from SCMでビルド時に動的にJenkinsfileを読み込んでビルドするようにする
- Git Parameter Plug-Inをインストールしてパラメータ付きビルドでブランチを指定してビルドを動かす
- ビルド時に指定したブランチのJenkinsfileを上手く読み込むことができない
環境
- Jenkins 2.249.1
- Git Parameter Plug-In 0.9.13
再現手順
Git Parameter Plug-Inをインストールし、Jenkinsfileに下記の設定を行う
parameters {
gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
}
設定のパイプラインで、定義を「Pipeline script from SCM」とし、ビルドするブランチを「${BRANCH}」とすると、ビルド時に下記のエラーが表示される
hudson.plugins.git.GitException: Command "git fetch --tags --progress --prune -- origin +refs/heads/${BRANCH}:refs/remotes/origin/${BRANCH}" returned status code 128:
stdout:
stderr: fatal: Couldn't find remote ref refs/heads/${BRANCH}
解決方法
設定のパイプラインで、「Lightweight checkout」のチェックを外す
※ワークアラウンドで上記の対応を行ってから同様の解決方法が検索できたけど、対応前は辿り着けなかったので残しときます。。。