创建标签时禁用VSTS构建触发器

时间:2018-06-28 20:11:47

标签: build azure-devops yaml

我在VSTS中有一个YAML构建定义,可以正常工作一段时间。
我最近开始使用this task从发布定义中标记我的仓库。

工作正常,除了每次此任务向我的仓库添加新的轻量级标签时,它还会触发该标签上的CI。与构建关联的分支是refs/tags/mytag

我试图通过在YAML定义中添加触发器分支过滤器来防止该行为:

trigger:
  branches:
    include:
    - master
    - release
    exclude:
    - refs/tags/*

但是我的构建仍在被触发。

关于如何防止在创建新标签时触发构建定义的想法?


注意

我还尝试通过VSTS门户创建自己的标签(在这种情况下,它不是轻量级标签)。该构建仍在触发,但是以另一种方式,因为它因错误消息Expected a Commit, but objectId f768714f0bac926164dea5b77e696da7a73db426 resolved to a Tag而失败。

在这种情况下,版本字符串也无法正确计算,从而导致使用简单的int而不是我格式化的版本字符串。

1 个答案:

答案 0 :(得分:1)

目前,尚无任何选项来指定包含/排除标签以触发CI构建。

并且有一个用户副Trigger build when pushing tag to git,该用户建议该功能可以在CI构建中指定标签,您可以投票和跟进。

目前的解决方法是覆盖“触发器”标签中的YAML持续集成触发器

在您的YAML构建定义中->触发器选项卡->从此处覆盖YAML持续集成触发器->包括要触发分支的分支(根据您的情况masterrelease分支)- >保存构建定义。

enter image description here

现在仅将提交推送到masterrelease分支将触发CI构建,而标记创建将不会触发CI构建。