当前位置: 首页 > 网络应用技术

Jenkins Multi -Branch Flow:Webhook是通过分支触发自动构造的

时间:2023-03-08 18:01:18 网络应用技术

  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叔叔的操作和维护