【问题标题】:VSTS should not trigger merg/commit build, NO_CIVSTS 不应触发合并/提交构建,NO_CI
【发布时间】:2018-05-11 14:44:16
【问题描述】:

当开发人员打开一个针对某个分支的 PR 时,我们有一个触发器来运行构建

我们正在从构建服务器(作为构建过程的一部分)提交到 PR 源分支,提交消息为 something ***NO_CI***,认为这不会触发此提交的另一个构建。但是,它仍然会触发构建

我的方法中的任何缺陷或我们可以阻止它以不触发此提交的构建的任何其他方式。

我们是否必须启用 VSTS 上的任何设置才能使***NO_CI*** 工作?

【问题讨论】:

    标签: git continuous-integration azure-devops azure-pipelines


    【解决方案1】:

    将 CI 构建添加到您的分支策略中——这将在打开 PR 时触发构建。

    在构建定义上为refs/pulls/* 添加一个 CI 过滤器。这将防止发生双重构建。

    PR 完成后,合并的 CI 构建将正常运行。

    【讨论】:

      【解决方案2】:

      首先,将更改推送到由构建定义监控的分支,特别是如果它是相同的文件夹是一个非常糟糕的主意。一直都是。我知道,因为我构建 TFVC 任务是为了让人们继续做这种疯狂的事情,以便他们迁移到新的构建系统。

      ***NO_CI*** 魔术注释适用于 TFVC,但不适用于 Git。使用 Git 和新的构建系统,您可以使用分支过滤器来防止构建在某些分支上触发,您可以设置路径过滤器以排除某些路径再次触发构建。 (在大多数情况下,人们倾向于提交 assemblyinfo.cs 文件;通过从触发构建中排除这些文件,您可以安全地这样做)。

      在构建过程中提交文件是非常危险的,存储库以分离的头状态签出,您的提交可能会影响到正在运行的目标分支的更改。相反,请考虑将您的更改推送到 另一个 分支。

      【讨论】:

        猜你喜欢
        • 2017-12-18
        • 1970-01-01
        • 2018-08-01
        • 2016-04-22
        • 1970-01-01
        • 1970-01-01
        • 2015-09-25
        • 2016-10-05
        • 2018-10-18
        相关资源
        最近更新 更多