【问题标题】:Pull Request policies and Build in Visual Studio Team Services在 Visual Studio Team Services 中拉取请求策略和构建
【发布时间】:2017-01-11 15:25:08
【问题描述】:

我正在使用 Visual Studio Team Services,我想在 develop

上为 Pull 请求使用构建策略

Options http://img11.hostingpics.net/pics/638526Capture.png

这很好,只是如果 develop 如我在此网页上看到的那样更新,我没有自动构建队列:https://www.visualstudio.com/en-us/docs/git/branch-policies

始终需要新构建:此选项将在目标分支更新时将新构建排队。这可确保拉取请求中的更改使用目标分支上的最新提交通过拉取请求构建。此选项最适合更改数量较少的小型团队或分支机构。在繁忙的共享分支中工作的团队可能会发现每次更新分支时重建都很乏味。

如果旧版本被弃用,任何人都能够自动将新版本排队?

编辑

实际发生的工作流程:
- 开发的 PR01 已创建,构建 01 已排队并完成
- 开发的 PR02 已创建,构建 02 已排队并完成
- PR01 被接受,并更新开发。
- PR02 被接受,但构建已过时,因为 develop 已更改并且没有构建自动排队。因此 PR02 无法完成,因为我们必须等待必须手动排队的 build 03。

我想要什么:
- 开发的 PR01 已创建,构建 01 已排队并完成
- 开发的 PR02 已创建,构建 02 已排队并完成
- PR01 被接受,并更新开发。
- PR02 的 Build 03 已排队,因为 develop 已更改
- PR02 被接受并完成

有什么办法吗?

感谢您的帮助

【问题讨论】:

  • 我不明白这个问题。当您说“如果开发已更新,我没有用于构建的自动队列”时,您是什么意思?
  • 如果在 PR 创建第一次构建后开发分支上有任何更改,我只是告诉我构建已过时,我必须手动排队一个新的。我想避免这个操作,因为构建可能会很长。
  • @GuillaumePhilipp 您在提供的屏幕截图中有“始终需要新版本”,其描述也是您提供的文本块。当 develop 分支更新时,新的构建将自动排队。你能确认一下吗?
  • @GuillaumePhilipp 通过您的步骤,我可以重现此问题并提交反馈,您可以关注它。

标签: git tfs azure-devops pull-request


【解决方案1】:

对于相同的拉取请求,如果目标分支有新的更改同步,则之前仍在进行中的构建将被取消。

例如:开发 > 大师

  1. 在 Dev 中进行更改,然后提交并同步到远程 Dev 分支
  2. 创建拉取请求(Dev > Master),然后将触发新的构建(例如构建 01)
  3. 在 Dev 中进行更改,然后提交并同步到远程 Dev 分支,然后应该触发新的构建(例如构建 02)
  4. 如果 build 01 仍在进行中,它将自动取消,然后 build 02 将使用最新版本启动。

》Build 03 for PR02 已排队,因为开发已更改

解决方法是从develop创建两个分支(例如developDev,developTest),然后在完成工作后直接将它们合并到develop分支。

我提交了您可以关注的反馈:build policies for Pull request

【讨论】:

  • 谢谢,但是如果我们同步到 origine/develop 时 build 01 完成了呢?
  • @GuillaumePhilipp 如果有相关的活动拉取请求,新构建将排队(例如构建 03)。如果没有相关的拉取请求,则在创建新的相关拉取请求之前,它不会将新构建排队。
猜你喜欢
  • 2017-04-26
  • 2017-08-12
  • 1970-01-01
  • 2023-03-29
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
相关资源
最近更新 更多