仅针对特定路径中的“主要”和更改触发 Azure DevOps 管道

问题描述 投票:0回答:1

我有一个 Azure DevOps 管道,只有在特定路径下发生更改时,该管道才会在合并到主管道后触发。

trigger:
  branches:
    include:
      - main
  paths:
    include:
      - 'Infrastructure/Some.Service.Api.Client/*'

我的问题是,这也会触发并非源自 main 的拉取请求构建。此管道为服务生成新版本的 API 客户端。如果 main 上的代码已更改,我只想创建一个新版本。

如何正确配置触发器?

azure-devops continuous-integration
1个回答
0
投票

您可以使用预定义变量“Build.SourceBranch”来标识管道是针对

main
分支还是PR运行。

  • 如果为
    main
    分支触发管道,则其值为“
    refs/heads/main
    ”。
  • 如果管道是由 PR 触发的,则其值为“
    refs/pull/<PR-Id>/merge
    ”。

因此,您可以使用此变量为生成新版本号的步骤设置条件。

  • 如果值为“
    refs/heads/main
    ”,则执行该步骤。
  • 如果值不是“
    refs/heads/main
    ”,请跳过此步骤。

© www.soinside.com 2019 - 2024. All rights reserved.