重命名Nexus的文件

时间:2018-07-17 17:21:17

标签: maven deployment nexus

背景:我们正在迁移应用程序,并且必须采用一些新结构,以便自动安装过程可以在我们的客户站点上进行。

直到现在,我们一直在使用maven分类器来构建同一模块的3种不同的风味(例如风味A,B和C)。问题是我们客户站点的自动安装过程无法按我们期望的那样处理。从链接下载时,这3个工件彼此覆盖,实际上只有最后一个。

我们绝对无法从客户端解决此问题(尽管这很简单!)。实际上,我们的客户绝对不会在其网站上进行任何更改-我们无法控制客户网站上的环境。

因此,为实现此目的而提出的解决方案将部署3个具有不同artifactIds的工件。即modA,modB和modC

我的问题是:如何以“最优雅的方式”实现这一目标?

我们不想重组整个项目,因为真正使模块数量重复三倍是可怕的。

到目前为止,我什至不确定这些想法是否可行:

  • 使用antrun插件复制/重命名文件并从模板生成相应的pom文件,然后使用deploy-file上载到联系。
  • 使用程序集?怎么样?
  • 在每个应部署的模块内使用相应的pom文件(以及客户需要的GAV)创建新的子模块,但是这些子模块中的每一个基本上只能从targetA / app--复制工件, targetB / ...和targetC / ...这样,我希望至少有一个或多或少干净的部署步骤(不使用deploy-file来部署WAR和pom)。 pom文件将是最小的,并且从根模块进行查看,我们仍然只会看到一个模块“ mod”,并隐藏其中的丑陋之处,而不是拥有3个模块“ modA”,“ modB”和“ modC”。这样,我们还可以将项目的devs视图与部署视图分离。开发人员可以继续使用它们惯用的方式,而集成商则负责“按客户希望的方式处理事情”。现在,我的问题是:如何创建一个“完整构建”实际上只是复制战争的Maven项目?

我很清楚,所有这些选择都是可怕的。如果您知道解决问题的“正确方法”,我将不胜感激。否则,我真的只想知道如何实现“复制战争”这一部分。

0 个答案:

没有答案