如何在Azure DevOps中触发其他PR提交构建?

dfuffjeb  于 2022-11-17  发布在  其他
关注(0)|答案(2)|浏览(176)

我正在通过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存储库。
我该做点别的吗?
有人能帮我吗?谢谢。

xqkwcwgp

xqkwcwgp1#

当生成由docs中指示的分支策略触发时,Build.Reason变量的值为PullRequest
本文档说明如何将生成验证设置为分支策略的一部分。分支策略有助于确保仅在生成成功时才能合并PR,并且还需要最少数量的代码审阅者。
该手册描述了对于拉取请求的每个更新的提交都将触发新的构建。

ht4b089n

ht4b089n2#

@Roderick Bant已经给出了Build.Reason的文档。基于他的回答,我想补充一些信息。如果你想触发PR和CI的构建,你可以修改你的条件:

condition: and(succeeded(), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI'))

相关问题