如何解决推入标签时触发多个构建管道
我在Azure DevOps中为存储库中的不同分支创建了多个生成管道。 我的意图是在推送特定标签时触发每个管道。 标签的结构对于每个管道都是唯一的。 例子:
--MyRepository
|
--master
|
--ops
|
--dev
|
--qa
针对dev,ops和qa的构建管道:
-
按下
-
dev-v*
按下 -
ops-v*
按下 -
qa-v*
dev
时应触发ops
时应触发qa
时应触发这是我的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 时,会发生所有事件,尽管只有dev管道应该启动。我在做错什么还是我忽略了什么? 任何帮助是极大的赞赏。干杯! 注意:使用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文件(新名称)创建新管道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。