build - 推送标签时触发多个构建管道
问题描述
我在 Azure DevOps 中为存储库中的不同分支创建了多个构建管道。我的目的是在推送特定标签时触发每个管道。该标签的结构对每个管道都是唯一的。例子 :
--MyRepository
|
--master
|
--ops
|
--dev
|
--qa
用于开发、操作和质量检查的构建管道:
dev
应在dev-v*
推iff 时触发ops
应在ops-v*
推iff 时触发qa
应在qa-v*
推iff 时触发
这是我的 yaml 文件的样子(其他管道的类似文件):
trigger:
branches:
include:
- refs/tags/ops-v*
exclude:
- refs/tags/qa*
- refs/tags/dev*
stages:
- stage: Init
jobs:
- job: CheckoutInit
steps:
- checkout: self
- script: *do something*
现在,当我推送dev-v1.0.0时会发生什么,尽管只有开发管道应该启动,但所有管道都被触发。我做错了什么还是我忽略了什么?任何帮助是极大的赞赏。干杯! 注意:我对使用 Azure Devops 还很陌生。
解决方案
根据我的测试,您的 Yaml 触发器可能是正确的。
当 yaml 文件在每个分支中具有相同的名称时,我可以重现类似的问题。
例如:
--MyRepository
|
--master
|
--ops
-- azure-pipelines.yml
|
--dev
-- azure-pipelines.yml
|
--qa
-- azure-pipelines.yml
因此,您可以检查 yaml 文件是否具有相同的名称。
要解决此问题,您可以更改每个 Yaml 文件名并确保它们是唯一的。
--MyRepository
|
--master
|
--ops
-- azure-pipelines-ops.yml
|
--dev
-- azure-pipelines-dev.yml
|
--qa
-- azure-pipelines-qa.yml
然后您需要再次使用 yaml 文件(新名称)创建新管道。
推荐阅读
- php - SQL - 将数据从一个表列复制到另一个表列
- greenplum - Greenplum 与 mysql 性能对比
- redux - 如何修改我的减速器以获取商店产品的频率?
- python - pytorch:随机分类器:ValueError:优化器得到一个空参数列表
- ios - 无法验证文本字段是否为空
- c# - MVC - 如果相同的 URL 已经在选项卡中打开,则替换现有的
- oracle - Oracle 触发器中的动态查询错误
- c# - 如何在 Windows 窗体应用程序的项目文件夹中查找文件
- laravel - Laravel取消链接不会删除文件
- javascript - 我无法在 excel web add in (javascript) 中保存对代码的更改