首页 > 解决方案 > 仅当从 GitHub 中的特定分支发出拉取请求时,如何触发 Jenkins 管道?

问题描述

我们的团队更改了分支策略,这需要我更改 Jenkins 设置。有一个主要的“master”分支和一个“dev”分支。

开发人员将向开发人员发出他们各自的离散拉取请求 (PR),将触发 GitHub Actions 上的一些单元测试,但是当从“开发”分支到主“主”分支进行 PR 时,应该触发 Jenkins 管道.

由于我目前已经配置了该流程,因此无论分支如何,都会在每个拉取请求上触发 Jenkins 管道,但我想要做的只是在每次 PR 专门从“dev”分支到时触发 Jenkins 管道“主”分支。

标签: gitjenkinstestingcontinuous-integrationjenkins-pipeline

解决方案


在这种情况下,您可以使用多种策略。

首先:您可能希望为针对dev分支打开的分支制定一个命名约定,并计划最终在那里合并。然后,您可以设置管道以根据分支名称和命名约定之间的匹配进行过滤。请注意,这将在分支上触发作业,而不是在 PR 上。

第二:您可能希望在每个 PR 上启动管道,找出目标分支,如果它不适合您的配置,请尽早退出并中止构建。

在有点类似的情况下,我们使用第二种方法。


推荐阅读