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

标签 build azure-devops yaml

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

它工作得很好,除了每次这个任务向我的存储库添加一个新的轻量级标签时,它也会触发我对该标签的 CI。与构建关联的分支是 refs/tags/mytag。

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

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

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

知道如何在创建新标签时防止触发构建定义吗?


注意

我还尝试从 VSTS 门户自己创建一个标签(在这种情况下,这不是一个轻量级标签)。构建仍在被触发,但以不同的方式,因为它失败并显示错误消息预期提交,但 objectId f768714f0bac926164dea5b77e696da7a73db426 解析为标签

此外,在这种情况下,版本字符串未正确计算,并导致一个简单的 int 而不是我的格式化版本字符串。

最佳答案

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

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

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

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

enter image description here

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

关于build - 创建标签时禁用 VSTS 构建触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51090583/

相关文章:

azure-devops - 如何在 yaml 中处理 Azure DevOps 管道中的错误?

php - Symfony 如何将参数传递到 yaml 配置中?

continuous-integration - .gitlab-ci.yml 语法错误

java - 在Android Studio中生成失败

c# - Xamarin不包括构建中的资源文件夹

build - 如何从 Jenkins 的另一份工作中提升特定的内部版本号?

visual-studio - 在 Visual Studio 或 Visual Studio Online 上搜索变更集 checkin 注释

winforms - 如何使用 Azure DevOps Pipeline 发布 WinForms .NET 桌面应用程序?

kubernetes - 在Kubernetes容器中为容器分配资源

c++ - 在 OSX 上从源构建 GIMP 2.10 在 "gimp-debug-tool-2.0"上失败