Jenkins:如何在多分支项目中指定Jenkinsfile

7

使用Jenkins进行多平台多分支构建。

我有多个多分支流水线项目(每个平台一个项目,因为每个平台需要不同的构建步骤)。我有一个代码仓库,其中包含多个分支(这就是为什么多分支流水线项目是有意义的)。

我希望每个多分支流水线项目引用不同的Jenkinsfile,而不是所有项目都尝试使用位于存储库根目录中文件名为“Jenkinsfile”的文件。

这个已解决的问题表明我应该能够做到这一点,但我找不到任何文档说明如何实现。有人知道我该如何做吗?

感谢您的时间! Allen


1
你正在运行哪个版本的Jenkins?由于它最近才合并,也许它只是不在你使用的版本中? - Kdawg
就是这样!将多分支插件从2.14版本升级到2.16版本解决了我的问题:现在我可以在我的多分支项目的构建配置中配置Jenkinsfile了! - Allen Pestaluky
太好了!我已经想要这个功能一段时间了,所以很高兴现在知道它的存在。我会添加一个答案,指出确切的版本是什么时候添加的。 - Kdawg
1个回答

6
将Pipeline Multibranch插件升级至至少2.15版本。根据https://wiki.jenkins.io/display/JENKINS/Pipeline+Multibranch+Plugin的更改日志:

2.15(2017年6月1日)

  • JENKINS-34561:提供选择脚本名称/路径而非Jenkinsfile的选项。
升级后,您可以进入项目的配置页面并访问下面显示的设置:
请参考以下截图:Jenkinsfile path configuration

我注意到有人实际上有同样的问题。如果你愿意的话,也可以在这里获取那些答案分数:https://dev59.com/aJffa4cB1Zd3GeqP3SGp - Allen Pestaluky
1
有什么想法可以从job-dsl multibranchPipelineJob定义中利用它? - Mark Gargan
如果所需文件的名称为CheckmarxJenkinsfile,则将其添加到multibranchPipelineJob的job-dsl中。配置{项目-> (项目/'工厂'/'脚本路径')<<'CheckmarxJenkinsfile' } - Mark Gargan
你能在“脚本路径”中使用环境变量吗?我已经尝试了%BRANCH_NAME%/JenkinsfileBRANCH_NAME/Jenkinsfile等等,但都没有成功。 - Cole
@Cole 尝试 ${env.BRANCH_NAME} - Kevin Chen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接