问题:在jenkinsfile中,有没有办法获取Pipeline所检出的分支名称?
注意:我不在多分支管道中!
在我的流水线中,我正在使用
checkout([$class: 'GitSCM',
userRemoteConfigs: [[url:'https://github.com/repo',
credentialsId: 'xxxx',name: '1234']]])
其中name
是提交ID。我需要验证这个提交ID是否来自用户指定的分支(用户指定分支名称和提交ID,我需要在构建项目之前检查是否有错误)。
为什么分支名称只在Multibranch Pipeline中可用,而不在Pipeline中公开呢?对我来说没有意义。
以下是我不想转换为多分支管道的三个原因:
- 我正在使用另一个插件Build Blocker Plugin,它似乎不可用于多分支管道。
- 我有一个参数化pipeline,在多分支管道中我没有看到该选项。
- 已经花了很多时间在这个pipeline上,我不想为了这个分支名称特性重新设置此项目。
我已经打印出所有环境变量,分支名称不在其中。
感谢您的帮助!
parameters { string(defaultValue: 'develop', description:'', name: '123456')}
。如果将参数传递到构建流水线,则检出提交 123456,默认情况下为 develop。 - tenticon