我正在通过yaml文件构建一个DevOps管道,它会触发一个PR构建。结构如下:
pr:
- dev2
stages:
- stage: PR
condition: and(eq(variables['Build.Reason'], 'PullRequest')
displayName: prBuild
jobs:
- job: DowndSecureFile
如果我第一次从另一个分支向dev2分支发出PR,例如:dev3它会触发。
在这种情况下,无法触发另一个生成:如果请购单尚未合并:并且我已对dev3进行了额外提交,则跳过PR的构建。我了解这是由于以下情况所致:Build.Reason更改为CI:
condition: eq(variables['Build.Reason'], 'PullRequest')
但是我正在尝试这样做,如果PR仍然打开,并且如果我向PR分支dev3提交了额外的提交,我需要再次为该PR触发一个构建。是否有任何合适的条件?或者
更新日期:
我使用的是github企业版,对于存储库,这里没有使用Azure存储库。
我该做点别的吗?
有人能帮我吗?谢谢。
2条答案
按热度按时间xqkwcwgp1#
当生成由docs中指示的分支策略触发时,
Build.Reason
变量的值为PullRequest
本文档说明如何将生成验证设置为分支策略的一部分。分支策略有助于确保仅在生成成功时才能合并PR,并且还需要最少数量的代码审阅者。
该手册描述了对于拉取请求的每个更新的提交都将触发新的构建。
ht4b089n2#
@Roderick Bant已经给出了
Build.Reason
的文档。基于他的回答,我想补充一些信息。如果你想触发PR和CI的构建,你可以修改你的条件: