是否将war部署到nexus存储库

时间:2014-08-25 09:15:31

标签: java maven deployment war nexus

由于我们的主战争文件大小约为40 Mb(并且它不是整个项目中的单个war文件),因此提出了这个问题。所有剩下的jar文件大约是20 Mb,因此如果我们不进行战争,每个版本占用的空间要大3倍。

所以也许有一个选项可以不部署整个war文件而只是部署资源,那么部署团队可以从Nexus构建它?如果我跳过部署我们构建war文件的模块,那么部署团队无法在不访问源代码的情况下构建它。

在公司本地存储库中部署war文件是否常见?

4 个答案:

答案 0 :(得分:5)

有两个阵营。一个阵营说:将每个工件部署(实际上传)到Nexus。这样每个工件的过程都是一样的,每个人都知道在哪里找到它。 另一个阵营说:只使用Nexus作为依赖库。如果您的war文件是最终产品,并且它不是像ear-file这样的其他项目的依赖项,那么就没有理由将它上传到Nexus。在这种情况下,您可以将其上传到共享或scm-location并从那里分发。

答案 1 :(得分:3)

对于每次更改 - 推送到nexus作为快照!!

在持续集成开发实践的过程中 - 进行并行开发,无论大小如何,更新与最新开发变更的关系都是永无止境的过程。

最佳做法是运行部署目标,并且可以使用更新的工件 对那些工作的团队 - 部署团队,测试团队,其他开发团队将开始消费变更......

答案 2 :(得分:0)

一般情况下,我建议您只需将战争上传至Nexus,并让您的运营团队从Nexus获取部署。在Nexus已经运行服务器来管理您的二进制文件之后。为什么要将它拆分并为构建输出使用不同的存储,因为它们是war文件而不是jar或其他东西。这没有任何理由让事情变得更加复杂。

答案 3 :(得分:-1)

<maven.deploy.skip>true</maven.deploy.skip>

设置此属性maven pom文件可以解决此问题

maven deploy插件有一个skip属性:http://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html