2

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

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

我担心是否创建了 3 个拉取请求......如果 PR1 和 PR2 已经构建但未标记为已完成。PR3 的构建是否包含来自 PR1 和 PR2 的代码?因为只有当 PR 被标记为 Completed 时,代码才会合并到“dev”分支中……我认为不会。pre-merge 应该从最新的“dev”分支中提取来进行 pre-merge。并且,如果 P1 和 p2 没有被标记为 Completed,那么 P3 将没有 P1 和 P2 代码。

4

1 回答 1

3

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

于 2016-02-17T02:22:58.927 回答