VSTS:当另一个提交进入主分支时,对现有PR的构建失效

时间:2018-03-22 00:46:55

标签: git azure-devops azure-pipelines

我们已将构建策略设置为进入主分支的CI管道的一部分。该策略确保PR在预压合并PR变为主数据之前成功更改+主人头部构建。

我们遇到了一种情况,即两个单独的更改列表(没有与master和它们之间的合并冲突)使其成为主分支,但是当第二个更改列表完成时,滚动主构建失败。

经过分析,我们注意到第二个PR在第一个PR完成之前已经成功完成了构建策略。因此,在合并到掌握之前,第二个PR从未建立现在新的头部和当前变化,这将导致问题。

因此,问题是,当另一次提交进入master时,如何使打开的PR上的所有构建无效。

1 个答案:

答案 0 :(得分:3)

导航至Branches部分,点击主页旁边的省略号,然后选择Branch policies

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

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

这样,只要功能分支更新主服务器更新,即主服务器接受不同的PR,PRs定位主服务器将始终需要新的构建。

我的猜测,根据你的描述,你有Build expiration设置为立即以外的东西,因此当PR 1合并到master时,PR 2的构建未正确到期,因此VSTS不需要重建PR 2,而是允许PR 2合并。

enter image description here

enter image description here

enter image description here