詹金斯。如何为特定的git分支配置任务?

时间:2016-08-17 12:13:32

标签: jenkins configuration continuous-integration jenkins-plugins

我在Jenkins有多配置项目。我的git存储库有不同的分支。例如:

dev
stage
bug/code1
feature/code2
etc...

我想为每个分支创建不同的Post build tasksPublish HTML reports等。

有什么问题?我更改了stage分支的配置。所有工作仅在Branch Indexing之前正常工作。完成此过程后,每个分支的自定义配置将替换为multi-configuration project。这意味着如果我仅为stage分支添加了特定任务,则Branch Indexing任务将被删除。

Multi-Branch Project Plugin说:

  

子项目似乎是可配置的,但它们将被覆盖   通过分支索引,如果您手动修改它们。没有明确的方法   删除或隐藏子项目上的配置选项(除外   也许基于项目的矩阵授权??),虽然版本0.1.x   这个插件通过一些不是的技巧完成了   可能在较新的版本中。

所以我的问题是:如何为每个分支创建自定义配置?或者什么是最好的解决方案?也许我应该为stagedev分支创建不同的项目?

谢谢。

1 个答案:

答案 0 :(得分:2)

我们有类似的情况,需要维护超过10个分支机构。我们使用job dsl为每个分支创建作业,而不是使用多分支插件。

例如,hello_branch1,hello_branch2 ....

在我们的工作dsl项目中,我们为不同的分支保存不同的json配置。在您的情况下,您可以认为我们保存了帖子构建脚本,或者报告要发布....

这将确保生成的作业是独立的,不会相互影响。

BR,