使用 Jenkins 部署多模块 maven 项目

Posted

技术标签:

【中文标题】使用 Jenkins 部署多模块 maven 项目【英文标题】:Deploying multi module maven project with Jenkins 【发布时间】:2021-09-04 18:31:57 【问题描述】:

我有一个多模块 Maven 应用程序。项目结构是这样的

parent
 |_ main
    |_ pom.xml   //<dependency> library_project, <packaging> jar
 |_ library
    |_ pom.xml
 |_ pom.xml    // with two <modules> and <packaging> pom

我有 nexus 存储库,并尝试使用 Jenkins 将其部署到 AWS。但我无法更改 Jenkins 设置,因为它是另一家公司提供的服务。 Jenkins 作业成功,但在最后一步,因为它正在上传 parent/target 文件夹中的 parent.pom 而不是 parent/main/target 文件夹中的 main.jar。最后,云服务报告部署错误,因为它需要一个 .jar 文件但得到一个 .pom 文件。

我对詹金斯不是很熟悉,但我猜詹金斯找到了父pom并决定最终的工件应该是&lt;parent_artifact_id&gt;.pom?我试图更改 POM 中的设置/插件,以便让 Jenkins 上传正确的 jar(即parent/target/main.jar),但它们都没有那么胖。任何建议都会有所帮助。谢谢。

【问题讨论】:

您想让 maven 进行部署(分两步,这样如果模块失败,您就不会得到部分部署,所以 mvn clean verify;mvn deploy)。您需要共享您的 Jenkins 配置(管道或 UI、maven 步骤、n xus 部署插件等)。更多信息,但都在此处由 aApache 和 Sonatype 记录。 【参考方案1】:

在做了一些研究之后,我同意 cmets 中的@lanW。它与 Jenkins 设置高度相关。我将与他们核对详细的实现。谢谢,我会关闭这个。

【讨论】:

以上是关于使用 Jenkins 部署多模块 maven 项目的主要内容,如果未能解决你的问题,请参考以下文章

jenkins多模块工程怎么构建

Jenkins自动化部署springboot多模块依赖jar

Jenkins自动化部署springboot多模块依赖jar

Jenkins自动化部署springboot多模块依赖jar

Jenkins自动化部署springboot多模块依赖jar

jenkins+springboot+maven多模块部署