VSTS:无法添加触发发布的构建标记

VSTS: Unable to add Build Tag which trigger release

在在线 VSTS 中,我在我的发布过程中(在触发器下)检查了持续部署。在 Set trigger on artifact source 上,我将标记条件 (with tags) 设置为 Automated

我在构建过程中也有一个标签。 (正确地将标签添加到构建中)

但是我的释放不是自动触发的?在部署状态(在我的构建中)它显示 "Tags set for release trigger did not match the tags in build branch"。但它们匹配(见图片)。可能是什么问题?

这是因为您在构建完成后添加了标签 Automated(通过标签源或手动)。这不能触发 CD 发行。 标签应该在构建期间添加(不是构建完成)。因此,您可以在构建定义中使用内联脚本添加 power shell 任务:

Write-Host "##vso[build.addbuildtag]Automatd" 

然后构建完成后会触发发布

对于未来的读者,您现在似乎可以触发发布,即使在任何时候(不仅仅是在构建期间)将标签添加到构建中也是如此。

Create a release when tags are added to an existing build. Upon enabling this option, a release gets created when tags are added to an existing build that has not been released. This could lead to deployment of an older build to the environments.

我用一种非常类似于以下的不同方式来做到这一点:

在我的发布管道中,我将分支过滤器添加到 'refs/tags/' 或 'refs/tags/v' 以用于持续部署触发器,或者我想在我的发布管道中过滤操作的任何其他地方。好处是您可以在构建完成后 Git 标记 应用 ,就像您喜欢的那样。这是可选的,但我将 Git 与 GitVersion.

结合使用

此外,请注意 Git 标签和构建标签不同。 Git 标签存储在 Git 存储库中,而构建标签与 VSTS/Azure 构建摘要相关联。不要混淆两者。