aca*_*a69 7 azure-devops azure-pipelines
我在基于 Github 的项目中使用 Azure 管道。我设置了一个仅由标记提交触发的构建管道,以使其与每次提交时发生的自动日常构建分开。
我想从触发每日构建管道中排除标记的提交。在 yaml 脚本中这样做的正确方法是什么?
这是我所做的,但没有成功。
根据此页面上的 Azure 文档,据我所知,应该可以使用以下内容排除标签:
trigger:
tags:
exclude:
- projectname_v*
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,只会阻止构建管道在任何提交时运行,无论是否标记。
我也试过:
trigger:
tags:
include:
- *
exclude:
- projectname_v*
Run Code Online (Sandbox Code Playgroud)
但这显然不受支持,因为它会产生错误:
/azure-pipelines.yml: (Line: 12, Col: 7, Idx: 220) - (Line: 12, Col: 8, Idx: 221): While scanning an anchor or alias, did not find expected alphabetic or numeric character.
Run Code Online (Sandbox Code Playgroud)
我还尝试了文档页面上提出的替代语法:
trigger:
branches:
exclude:
refs/tags/{projectname_v*}
Run Code Online (Sandbox Code Playgroud)
以及带/不带大括号和通配符的变体,但都因“意外值”或“输入字符串格式不正确”错误而失败。
阅读下面 wallas-tg 的回答后,我在日常构建管道中尝试了以下内容:
trigger:
branches:
include:
- '*'
exclude:
- 'refs/tags/*'
Run Code Online (Sandbox Code Playgroud)
这有效,但不符合我的意愿:
小智 1
@acasta69
我认为我找到了您问题的解决方案。我一直在做相反的场景,仅构建功能分支并排除其他任何内容。
为此,请在 azure-pipelines.yml 上使用此 yml 片段
resources:
repositories:
- repository: myNetProject
type: GitHub
connection: myGitHubConnection
source: wkrea/DockerHubImages
trigger:
batch: true
branches:
include:
- releases/*
exclude:
- '*'
paths:
exclude:
- README.md
Run Code Online (Sandbox Code Playgroud)
我能够在 DevOps 的基础上进行构建

如果这个答案对您有用,请让我知道评论并对我的答案进行评分,以便下次有人需要帮助时更容易找到答案,因为 DevOps Pipelines 文档目前确实不清楚且令人困惑:'(
releases在这里您可以看到我在分支上的最后一次提交的检查
| 归档时间: |
|
| 查看次数: |
4534 次 |
| 最近记录: |