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 构建摘要相关联。不要混淆两者。
在在线 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 构建摘要相关联。不要混淆两者。