【问题标题】:Disable VSTS build trigger when creating tag创建标签时禁用 VSTS 构建触发器
【发布时间】:2018-12-07 23:46:21
【问题描述】:

我在 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 而不是我格式化的版本字符串。

【问题讨论】:

    标签: build azure-devops yaml


    【解决方案1】:

    目前,没有选项可以指定包含/排除标签以触发 CI 构建。

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

    目前的解决方法是从触发器选项卡覆盖 YAML 持续集成触发器

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

    现在只有提交到masterrelease分支会触发CI构建,标签创建不会触发CI构建。

    【讨论】:

    • 我测试了它,它有效,谢谢。澄清一下,在我的情况下,从标签触发构建确实可以正常工作......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    相关资源
    最近更新 更多