jenkins-pipeline - 在开发分支中的代码提交上为所有分支触发 Jenkins 管道
问题描述
任何人都可以帮助我解决以下问题:
我的开发人员在 Bitbucket 的 Dev 分支中推送代码,但在 Jenkins 中,它触发了 Dev、Test、Stage 和 Prod 管道,尽管其他分支中没有部署任何更改,它只是重新部署了 Test、Stage 和 Prod 中的最后一次提交。但是为什么要推送到 DEV 分支的任何代码触发另一个管道。
请注意,每个 env 管道仅检查相应的 env 分支以进行部署。我也向 Bitbucket 社区提出了这个问题,但他们确认从 Bitbucket 端没有发现任何问题,并建议从 Jenkins 端检查。
在我的 Jenkins 中,每个管道都是基于“每当将更改推送到 Bitbucket 时构建”触发的
解决方案
多分支管道应该是这里的方式。使您的文件更容易。
替代方法是在您的声明性管道中编写一个脚本块(或直接编写脚本化管道),它将评估 git.branch 环境变量并仅在分支正确时运行作业。
当您有一组固定的分支时,这将起作用并且在某种程度上可以维护。如果您让开发人员在这里和那里创建新分支,那么这将很快变得势不可挡。
推荐阅读
- oracle - Neo4j 到 Oracle 实时数据同步
- windows - Windows 10 PowerShell 文件重命名命令为大写
- javascript - 网站帧率会影响现代浏览器中的音频吗?
- javascript - Element.matches 选择器限制
- node.js - FCM Web 通知令牌
- ansible - 委托主机上的 Ansible 附加列表
- docker - Github 操作将 docker 部署到 AWS ECS ECR
- microsoft-graph-api - 如何在 Microsoft graph 的列表用户 API 上使用 $expand API 参数和 $select?
- javascript - 将数据保存到状态时遇到问题
- c - 在 (c) 文件中读取包含不同结构的二进制文件,这些结构具有指针作为成员