在 bitbucket 上创建 PR 时触发 Jenkins 作业。 PR 应该在源分支上运行

问题描述 投票:0回答:1

在 Bitbucket 中创建 PR 时是否可以运行 Jenkins 管道。 管道应该为源分支运行。 如果PR从feature提升到master。管道应运行功能分支的 Jenkinsfile。

Jenkins 应该触发一个作业,该作业将自动检测源分支并为源分支运行作业。 即使提出 100 个 PR,它也应该自动检测源分支并运行源分支本身的 Jekinsfile。

注意:所有功能分支都以 feature_**** 开头。

请帮助我提出答案或任何有用的资源来实现上述要求。

jenkins bitbucket
1个回答
0
投票

通过检测每个 PR 来运行作业相当简单。然而,基于分支的 Jenkinsfile 运行它不会那么简单。这是因为 Jenkinsfile 用于启动管道的其余部分,因此一旦启动,阶段和步骤就无法更改。

对于检测 PR,如果您的 Bitbucket 实例能够访问您的 Jenkins 实例,您可以使用 Bitbucket 插件和传入的 Webhook。如果没有,您可以创建一个每隔几分钟运行一次的轮询作业,并检查是否已创建新的 PR(或者现有的 PR 是否有新的提交)。如果有,则开始 Jenkins 构建。在 Jenkins 构建结束时,使用 Bitbucket API 将最新提交的构建状态设置为成功或失败(取决于作业结果)。然后,下次轮询 PR 时,您可以使用此状态来查看最后一次提交是否已构建。

© www.soinside.com 2019 - 2024. All rights reserved.