1

我们正在使用 Perforce 和 Maven,我们的情况是,我们有一个分支 A 托管一个成熟的项目,另一个分支 B,我们开始使用第一个分支中托管的代码进行开发。

我预计,在某些情况下,签入分支 A 会导致分支 B 中的编译失败,因为处理它们的开发人员不知道具体的用法和交叉依赖关系。然后开发人员将浪费时间更新 B 代码并认为它​​没有编译。

分支/项目 A 需要保留为它自己的独立实体,因为它的代码可以在另一个未来的项目中使用。

有人可以建议我处理和缓解此类问题吗?你们可以建议任何最佳实践吗?非常感激。

4

1 回答 1

2

您需要设置构建环境:

1)设置持续集成(CI)服务器,例如Jenkins。当开发人员提交到分支 A 时,它应该检测到提交并触发构建。

2) 分支 A 完成构建后,将其工件部署到共享存储库。强烈建议(购买不是绝对必要的)是分支 A 的构建部署到存储库服务器,例如 Nexus(但源代码控制中的存储库或FTP 服务器也可以完成这项工作)。

3) 在您的 CI 服务器中设置分支 B,但只要分支 A 的构建成功,构建“触发器”就会运行。

4) 配置两种构建配置,以在构建失败时向相关团队成员(或每个人?)发送电子邮件。

此外,这两个分支都应依赖于上面 #2 中的存储库。如果您需要整个环境可重复且自包含,请使用 repository-in-scm 路线。

于 2013-05-20T03:03:39.950 回答