在为Java应用程序自动构建时存储依赖关系的最佳实践

时间:2015-07-13 19:00:07

标签: ant jenkins amazon-s3 build-automation build-dependencies

我们正在考虑采用更加CI友好的方法来管理我们的内部jar依赖文件服务器,或者完全取消它以获得更好的替代方案。现在它只是一个具有某种形式文件结构的Linux服务器,例如:

http://server_name/vault/apache.org/axis/version_number/axis.jar
http://server_name/vault/apache.org/axis/version_number/jaxrpc.jar
http://server_name/vault/apache.org/axis/version_number/axis.jar

想知道在进行自动构建时,采用哪种标准的企业CI实践来管理这些依赖项。

  • 将它们存储在AWS S3中是一个好主意吗?
  • 是否有任何应用程序可以帮助管理jar依赖库? (最好寻找开源解决方案)。例如,类似于您只需添加所需jar的内容,并在进行构建时使用API​​将其下拉。
  • 假设apache ant用于构建项目。如果这在CI领域不能很好地发挥作用,那么什么是一个好的选择呢?

1 个答案:

答案 0 :(得分:1)

我建议使用Apache ivy来管理构建的依赖项。 Ivy可以配置为从Maven存储库中提取依赖项,这几乎是现在用于存储Java二进制文件的事实标准。

Maven Central是Java二进制文件的最大存储库。要托管您的私人二进制文件,有各种现成的选项:NexusArtifactoryArchiva