Pål*_*vik 4 azure azure-devops azure-pipelines
我们将所有管道都签入了代码,但是如果我们在这些管道中更改了 PR,那么 PR 构建策略将与 MASTER 中的 YAML 文件一起运行,而不是我们想要签入 master 的文件。这基本上是一个僵局。
假设您要删除使所有 PR 失败的验证,因此您创建了一个 PR,但无法合并它,导致构建策略失败:P
PS:我知道我可以删除策略,完成合并,然后手动添加策略,但这并不是一个好的解决方案。
使用您随后在 PR 策略中设置的预合并构建步骤创建一个单独的 yaml 管道。它将始终从创建 PR 的当前分支运行代码。
我们这样做:(都在同一个仓库中)
整个 yaml 定义:
#pre_merge.yml
trigger: none #Pipeline should never trigger on any branches. Only invoked by the policy.
variables:
- name: system.buildConfiguration
value: 'Release'
- name: system.buildPlatform
value: 'win10-x86'
- name: system.debug
value: 'false'
pool:
vmImage: 'windows-latest'
name: $(SourceBranchName)_$(date:yyyyMMdd)$(rev:.r)
steps:
- template: build_steps.yml
Run Code Online (Sandbox Code Playgroud)
所有这些也适用于经典管道。您需要创建一个单独的预合并构建管道,该管道可以使用主构建管道中使用的步骤引用任务组。在这两种情况下,您都不必使用模板或任务组并手动创建步骤。但是,如果构建将来会发生变化,您有 2 个地方需要更新。
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |