Jenkins Multibranch(管道)/分支跟踪

C.M*_*.M. 5 git branch jenkins

对于一个新项目,我想使用Jenkins CI的新管道功能。我们在Git存储库中有几个分支,应该以相同的方式对其进行测试。它还应自动跟踪和处理新分支。因此,我创建了一个多分支管道作业。但是我的配置有2个问题:

1)为了被詹金斯标记为有效,分支需要一个“ Jenkinsfile”。如果不存在此分支,Jenkins将忽略该分支。有什么方法可以标记所有与模式匹配的分支,而无需在其中包含此文件?

2)每个分支应具有相同的Pipeline构建脚本。不幸的是,在“构建配置”部分中,唯一的选项是“通过Jenkinsfile”。我希望能够在config中本地配置脚本,并且该脚本应适用于所有分支构建。

你能帮助我吗?谢谢!

Jenkins版本2.10,所有插件均为最新版本。

小智 0

多分支管道作业将为存储库中的所有分支运行,并根据您在管道配置中指定的 crontab 计划发现新分支。

如果您希望每个分支有不同的行为,您可以这样做:

script {
    if( "${env.BRANCH_NAME}" == "master" ) {
        ....
    }
    if( "${env.BRANCH_NAME}" == "integration" ) {
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)