VSTS:无法添加触发释放的Build Tag

时间:2017-06-21 21:41:19

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline

在VSTS在线中,我在发布过程(触发下)中检查了持续部署。在Array ( [0] => Array ( [food] => bread [color] => white [language] => php ) [1] => Array ( [food] => rice [color] => purple [language] => c# ) [3] => Array ( [food] => steak [color] => yellow [language] => ruby ) ) 上,我将标记条件(Set trigger on artifact source)设置为自动

Release trigger

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

但我的发布不会自动触发?在Deployments状态(在我的构建中),它表示"为release release设置的标签与build branch"中的标签不匹配。但他们匹配(见图片)。可能是什么问题?

Build

3 个答案:

答案 0 :(得分:12)

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

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

然后在构建完成后触发释放。

enter image description here

答案 1 :(得分:3)

对于将来的读者来说,即使您随时将标签添加到构建中(不仅仅是在构建期间),您现在也可以触发发布。

Create release when tags are added to an existing build

  

在将标签添加到现有内部版本时创建发行版。启用此选项后,将标签添加到尚未发布的现有版本中时,将创建发布。这可能会导致将较旧的版本部署到环境中。

答案 2 :(得分:2)

我以不同的方式执行此操作,类似于: How to trigger VSTS build and release when pushing tags?

在我的发布管道中,我向“ refs / tags / ”或“ refs / tags / v ”添加了一个分支过滤器,以进行持续部署触发器,或者在任何其他要过滤操作的地方我的发布管道。好处是,您可以按照自己的喜好在 AFTER 之后应用您的Git标签。这是可选的,但我将Git与GitVersion结合使用。

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