跨分支的Jenkinsfile是不同的,我想在pull请求的源分支中执行Jenkins文件。
我正在使用Bitbucket Jenkins插件来完成它。
我尝试在配置中使用两个变量。但都失败了。
$ {sourceBranch}
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
hudson.plugins.git.GitException: Command "git fetch --tags --progress origin +refs/heads/${sourceBranch}:refs/remotes/origin/${sourceBranch} --prune" returned status code 128:
stdout:
stderr: fatal: Couldn't find remote ref refs/heads/${sourceBranch}
$ {GIT_BRANCH}
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
hudson.plugins.git.GitException: Command "git fetch --tags --progress origin +refs/heads/${GIT_BRANCH}:refs/remotes/origin/${GIT_BRANCH} --prune" returned status code 128:
stdout:
stderr: fatal: Couldn't find remote ref refs/heads/${GIT_BRANCH}
请告诉我可以指向传入webhook中拉取请求的源分支的变量。
答案 0 :(得分:0)
使用Bitbucket branch source plugin,这可以毫不费力地运作。只需将您的Bitbucket项目添加为Jenkins中的作业,它会扫描所有存储库,包括所有分支和拉取请求,并创建相应的作业。无需使用这些变量。
如果你想使用另一个分支的Jenkins文件,你需要通过改变那个改变该分支中Jenkinsfile的提交来从那里复制它:
git cherry-pick <HASH>