推送标签时触发多个构建管道
Multiple build pipelines triggered when a tag is pushed
我在 Azure DevOps 中为存储库中的不同分支创建了多个构建管道。
我的意图是在推送特定标签时触发每个管道。
标记的结构方式对每个管道都是唯一的。
示例:
--MyRepository
|
--master
|
--ops
|
--dev
|
--qa
dev、ops 和 qa 各自的构建管道:
dev
应该在 iff dev-v*
被推送时被触发
ops
应该在 iff ops-v*
被推送时触发
qa
应该在 iff qa-v*
被推送时触发
这是我的 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 文件(新名称)创建新管道。
我在 Azure DevOps 中为存储库中的不同分支创建了多个构建管道。 我的意图是在推送特定标签时触发每个管道。 标记的结构方式对每个管道都是唯一的。 示例:
--MyRepository
|
--master
|
--ops
|
--dev
|
--qa
dev、ops 和 qa 各自的构建管道:
dev
应该在 iffdev-v*
被推送时被触发ops
应该在 iffops-v*
被推送时触发qa
应该在 iffqa-v*
被推送时触发
这是我的 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 文件(新名称)创建新管道。