0

我有两个 Maven 项目,我需要通过自动部署过程进行部署。(如夜间构建或类似)
场景如下:

mv-proj1
 -dependency-1.jar
 -dependency-2.jar
 -dependency-3.jar
mv-proj2
 -dependency-3.jar
 -dependency-4.jar
 -mv-proj1.jar

无法透露 mv-proj1 和 mv-proj2 的来源。
mv-proj2 是可执行的 jars 并为其他应用程序模块提供服务。

那么将这些部署到生产机器或者说 UAT 机器的标准方法是什么?
我是否需要设置组织内 Maven 存储库?
我需要将 maven 存储库安装到 UAT 机器吗?

我能想到的一种可能的方法是设置和托管组织内 maven 存储库,以及在 UAT 机器上设置 maven 以从组织内 maven 存储库中获取数据。并仅部署 pom.xml。

4

1 回答 1

1

我会让我的选择取决于你的工件的消费者是什么。

如果消费者也是可以从所述组织内 Maven 存储库中提取 JAR 的 Maven 项目,那绝对是一个很好的方法。我相信每个认真使用 Maven 的组织迟早都会有这样自己的存储库的用例。我曾与 Artifactory 和 Nexus 合作过,并且觉得两者都是很棒的产品(以及此处所述的用例的免费啤酒)。它们都易于安装,不应该是令人生畏的探索,去吧!

如果您的 UAT 机器将使用 Maven 构建和安装任何将您的工件作为依赖项拉入的东西,那么它们将在客户端运行 Maven。这些客户端上会有一个本地存储库(工件缓存),但这与上面提到的组织存储库不同,您可能不会将其部署在实际的 UAT 机器上。

如果mv-proj2是“最终交付”,如您所说的可执行文件,您可能希望将其全部打包为一个漂亮的单个 JAR(Maven 可以为您完成)并将其分发给您的用户。您可以通过组织存储库再次执行此操作。您最终可以将其发布到某个网络驱动器或 Web 服务器。这样做的方法很多,例如使用 maven-jar-plugin 和 outputDirectory 指向您要发布的任何位置。

于 2013-04-19T04:00:42.437 回答