Azure Devops 构建管道:当 PR 设置为 none 时,CI 触发器无法将 PR 合并到 master

Azure Devops build pipeline: CI triggers not working on PR merge to master when PR set to none

需要在 PR 合并到 master 时触发 CI 构建作业(仅当更改在 ./rel/* 路径内时)但当 Pull Request (公关)被创建。所以我有如下触发器配置。

trigger:
    branches:
        include:
        - master
    paths:
        include:
        - ./rel/*

pr: none # will disable PR builds (but not CI builds)

但是在添加pr: none时它无法触发CI构建。如果 pr: none 被删除,作业将被触发以同时进行 PR 和合并到 master。我只需要 job/CI 构建到 运行 合并到 master.

YAML 中的 paths 过滤器正在查找存储库文件结构中的路径,而不是分支路径。要让它只在 rel 分支上触发,请将 include 分支下的 master 替换为 ./rel/*(或正确的值)。

我们有一个更明确的管道,它在 PR 上运行单元测试,然后仅在合并到 master 分支时发布包。为此,我们将触发器设置为主分支,并为多阶段管道中的每个阶段使用 conditions。也检查一下。

已解决!这现在有效。

trigger:
    branches:
        include:
        - master
    paths:
        include:
        - ./rel/*

pr: none # will disable PR builds (but not CI builds)

您还可以使用触发器中的经典 azure devops UI 配置/覆盖。

参考:https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&tabs=classic#ci-triggers