Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 如何在Performce中管理分支间依赖关系?_Maven_Build_Branch_Version_Perforce - Fatal编程技术网

Maven 如何在Performce中管理分支间依赖关系?

Maven 如何在Performce中管理分支间依赖关系?,maven,build,branch,version,perforce,Maven,Build,Branch,Version,Perforce,我们使用的是Perforce和Maven,我们的情况是,一个分支a承载一个成熟的项目,另一个分支B使用第一个分支中承载的代码进行开发 我预计,将来可能会出现这样的情况:签入分支a将导致分支B中的编译失败,因为开发人员不知道具体用法和交叉依赖关系。然后开发人员将浪费时间更新B代码,并认为这不是编译 分支机构/项目A需要保留为自己的独立实体,因为它的代码可以在未来的另一个项目中使用 有人能就如何处理和缓解此类问题向我提供建议吗?你们有什么建议吗?非常感谢。您需要设置生成环境: 1) 设置持续集成(C

我们使用的是Perforce和Maven,我们的情况是,一个分支a承载一个成熟的项目,另一个分支B使用第一个分支中承载的代码进行开发

我预计,将来可能会出现这样的情况:签入分支a将导致分支B中的编译失败,因为开发人员不知道具体用法和交叉依赖关系。然后开发人员将浪费时间更新B代码,并认为这不是编译

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


有人能就如何处理和缓解此类问题向我提供建议吗?你们有什么建议吗?非常感谢。

您需要设置生成环境:

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

2) 分支A完成构建后,会将其构件部署到共享存储库中。强烈建议(严格来说不需要购买)将分支A的构建部署到存储库服务器,例如Nexus(但在或A中部署存储库)

3) 在CI服务器中设置分支B,但在分支a的生成成功时使用生成“触发器”

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

另外,这两个分支都应该依赖于上面#2中的存储库。如果您需要整个环境具有可重复性和自包含性,请选择scm路线中的存储库