我有一个多分支作业集,可以使用Jenkinsfile运行任何分支。

如果要从多分支管道运行的作业列表中删除一个分支,我可以考虑一些选择。


我可以删除该分支
我可以删除该分支中的Jenkinsfile

第二个解决方案很好,除了我需要提交并推送

禁用多分支管道的某些分支的最佳方法是什么? >

#1 楼

Jenkins可以使用通配符或正则表达式按名称过滤多分支管道中的分支。



评论


在Jenkinsfile中执行此操作的任何方法(因此可重现)?

– xjcl
20-2-18在22:42

是的,您可以在{anyOf {分支'master';在任何阶段(声明式)或if(env.BRANCH_NAME =='master'||(env.BRANCH_NAME).startsWith('release /')){}任何地方)。对于第一个选项,jenkins.io / doc / book / pipeline / syntax /#when中提供了更多功能。无论如何,最好的方法是在多分支管道插件中进行配置,如答案中所述。

– biolauri
20-2-26在12:45

#2 楼

只需删除您不想为其提供相应分支作业的分支上的Jenkinsfile。这将删除分支作业(当然,前提是您已经适当设置了“孤立项目策略”)。

从Jenkins Multibranch Pipeline Project的角度来看,这与删除分支具有相同的效果。这是因为它只是在扫描包含Jenkinsfiles的分支作为何时创建(或删除)相应分支作业的标准。

在需要分支时还原提交以还原Jenkinsfile。再次工作。

评论


这是太多的工作。创建分支并删除文件时,您没有充分的理由在更改GIT历史记录。在Jenkins级别进行过滤要好得多,因此您无需执行任何操作。

– Casey vega
20年4月24日在16:05

@caseyvega,您认为启用和禁用CI不值得历史吗?这似乎是对我最好的答案。

–亚当·史密斯(Adam Smith)
20年6月1日在20:49

OP很清楚他为什么不想这么做。没有什么可以阻止您通过GitOps / JCasC管理Jenkins作业和此设置的。其次,如果我想创建Jenkins不会自动提取的分支怎么办?再加上已删除的文件和混乱的请求/合并。该解决方案没有错,只是无法扩展或满足OP的要求。

– Casey vega
20 Jun 14'18:40