Jenkins Multibrich Pipeline项目类型可以在同一项目的不同分支上实现不同的Jenkinsfile。在多支支组装订单项中,Jenkins会在包含源代码控制中的Jenkinsfile的汇编行中自动发现,管理和执行,从而消除了源代码。需要手动创建和管理装配线。
在实际应用中,我们通常需要Git+Jenkins来实施代码的自动构造以触发作业。对于普通工作,可以自动触发Webhook;但是对于多支支组装线,每次webhook都可能由主人触发,开发或更多分支机构触发时,这显然不是要求,并且会有很多垃圾构造历史。后面的视图中的错误。
因此,我们需要的是由分支触发的Webhook,例如我们的应用程序方案:
1. GIT版库有两个分支:主/开发,与生产和开发环境相对应;
2.开发分支代码提交到触发自动构造,手动构建主分支;
自动仅构建开发的分支,该分支是根据分支构建的,该分支将阻止主或其他分支生成垃圾构造。
注意:本文仅介绍通用Webhook触发器的触发部分。至于库的Git版本中的Webhook,请根据实际情况对其进行配置。
(1)如果代码是由Devert分支提交的,则变量ref = refs/heads/开发,匹配refs/heads/develop,并触发构造;
(2)如果主分支提交代码,则变量ref = refs/heads/master,与refs/head/develop不符,不会触发构造;
3.在开发分支机构中,建立基于Jenkinsfile的不同舞台构造;
由于触发了发展分支,因此条件与开发分支匹配,并构建了开发分支。并建立了主分支。
有关定期匹配和多支支组装线,请参阅以下链接:
1. https://www.jenkins.io/zh/doc/book/pipeline/multibranch/2. https://plugins.jenkins.io/gner-webhook-trigger/ 3. https://github.com//Github.com/jenkinsci/generic-webhook-trigger-plugin/tree/master/src/tes
GIT的每个分支必须具有相同的Jenkinsfile文件,否则“发现分支”将无法检测到分支。
其中:Triggers Part是此多分支流线的关键。为了促进解释,我们将在下面详细介绍它。
JenkinsFile中的触发器部分是通用Webhook触发插件的特定配置。它可以通过声明性指令生成器(即语句指令生成器)生成上述代码,如下:下面:
令牌:通过http:// jenkins_url/generic-webhook-trigger/indoke?Token = VXNNT5X/GH8RS可以触发作业。
在:
(1)表达式:通过正则表达式匹配不同的分支。这个项目中有两个分支机构,即:
“ refs/heads” + branch_name中的branch_name是通过环境变量在施工过程中的当前分支。
(2)文本:匹配的结果,也就是说,如果常规匹配的结果为refs/heads/开发,它将被触发;否则,它不会触发构造。
(1)通过浏览器中的Webhook手动触发构造:
从上图可以看出,开发分支触发自动结构,而主分支未触发。
(2)蓝调视图
webhook是由分支机构触发的,以自动构建一个多支支组装线以更灵活。在促进每个项目的分支机构的同时,它有效地避免了多部门,并构造了太多的垃圾结构。
作者:Mun Love叔叔的操作和维护