Visual Studio Online (VSO) 分支策略 - 带自动生成的拉取请求



我正在尝试完成一个完整的 CI 解决方案,它将从 PR 开始,-> build ->,build 将 nuget 包推送到 octopus -> 章鱼识别新包并部署。 我想澄清一下拉取请求策略如何适用于自动构建拉取请求。 我们选择了">当团队成员创建或更新拉取请求到"dev"分支中时,将此构建队列:MyCoolBuilDefinition"。

我注意到一旦创建了 PR,构建就会立即触发。 它创建一个临时 git 分支"refs/pull/123/merge"。 我假设它在此分支上创建一个预合并来执行构建。 这是我们可以部署和测试的版本吗?或者这只是为了满足构建策略?

我担心如果创建了 3 个拉取请求......如果 PR1 和 PR2 已构建但未标记为已完成。 PR3 的版本是否包含来自 PR1 和 PR2 的代码? 因为代码只有在 PR 标记为已完成时才合并到"dev"分支中......我认为不会。预合并应从最新的"dev"分支中提取以进行预合并。 而且,如果 P1 和 p2 尚未标记为已完成,则 P3 将没有 P1 和 P2 代码。

构建仅用于满足构建策略,您的担忧是正确的。预合并不包括其他未完成的拉取请求中的更改。它只是确保可以成功构建当前的拉取请求。因此,您最好为"dev"分支创建两个构建定义。一个定义只是生成代码以满足拉取请求,另一个定义支持持续集成并生成代码并推送 nuget 包。