gpt4 book ai didi

git - VSTS : Invalidating builds on existing PRs when another commit makes it into master branch

转载 作者:太空狗 更新时间:2023-10-29 14:42:34 24 4
gpt4 key购买 nike

我们已经将构建策略设置为 CI 流水线的一部分到 master 分支。该策略确保 PR 更改 + master head 在 squash 将 PR 更改 merge 到 master 之前成功构建。

我们今天遇到这样一种情况,两个单独的更改列表(它们与 master 之间没有 merge 冲突,它们之间也没有 merge 冲突)进入 master 分支,但是当第二个更改列表完成时,滚动主构建失败。

经过分析,我们注意到在第一个 PR 完成之前,第二个 PR 已经成功构建策略。因此,在 merge 到 master 之前,第二个 PR 从未使用现在的新 head 和当前更改构建,这会发现问题。

因此出现了一个问题,当另一个提交进入 master 时,如何使开放 PR 上的所有构建无效。

最佳答案

导航到 Branches 部分,单击 master 旁边的省略号并选择 Branch policies

然后添加一个Build Validation 策略。链接到现有构建定义,然后设置以下字段:

  • 触发器:自动
  • 政策要求:必需
  • 构建过期:立即

这样,只要功能分支更新 master 更新,即不同的 PR 被接受到 master 中,针对 master 的 PR 将始终需要一个新的构建。

根据您的描述,我的猜测是您将 Build expiration 设置为 Immediately 以外的设置,因此当 PR 1 merge 到 master 时,PR 2 的构建是未正确过期,因此 VSTS 不需要重建 PR 2,而是允许 merge PR 2。


enter image description here


enter image description here


enter image description here

关于git - VSTS : Invalidating builds on existing PRs when another commit makes it into master branch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49418800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com