如果我让你正确,
different versions of some custom jars
是不同的版本你的依赖。这可以使用maven配置文件轻松实现。你的pom.xml看起来similair本(XML简化到最低限度。
<project>
<!-- Basic info like model, artifact, group etc. -->
<dependencies>
<!-- Your usual deps as you are used to -->
</dependencies>
<profiles>
<profile>
<id>profile1</id>
<dependencies>
<!-- Extra deps for this profile -->
</dependencies>
</profile>
<profile>
<id>profile2</id>
<dependencies>
<!-- Extra deps for this profile -->
</dependencies>
</profile>
</profiles>
</project>
的IDE通常提供的方式来设定个人资料,因此开发者应该不会有问题。从詹金斯,是同时在命令行构建你会调用命令指定的配置文件。你可以有单独的作业,或者你可以用参数来创建你的工作。
mvn install -P profile1
另外,个人资料可通过enviroment variable激活。问题可能是这个变量必须在编译期间availble的。
另一个aproach将分支您的代码为不同的客户作为阿比拉斯在评论中提到。
您可以有两个分支用于分支和不同的Jenkins作业。每个詹金斯的工作将拉各自的分支和部署。这看起来可行的解决方案 – Abhilash
是的,这是有道理的,但没有一种可能性,我可以使用所有分支合并的主分支。使用这个,我必须小心我的依赖关系,并在每次推送它们时检查它们。 –
这是WAR还是EAR部署? –