将二进制文件从Bamboo部署到Nexus存储库

7
首先,我对Nexus不太熟悉,如果问题过于简单,请见谅。让我先解释一下我们目前的构建/部署流程。
我们有一个基于Maven的项目。有一个parent POM.xml和两个子模块pom.xml,每个子模块POM.xml在构建时都会创建一个JAR文件。目前我手动进行构建/部署。我从SVN检出代码到本地机器上。我运行mvn clean install。我创建了一个Bash脚本来将2个Jar文件和几个其他资源(目前仅在SVN存储库中,并下载到本地)捆绑成一个tar.gzip文件。然后我将它SCP到应用服务器。运行安装脚本来部署tar.gzip文件。
我们计划在Bamboo中自动构建(我已经完成了)。然后构建的产物需要上传到Nexus存储库(由于安全问题,Bamboo中的SCP任务无法工作,因为无法从Bamboo服务器与应用服务器建立SSH连接)。
我的第一个障碍是:
我在Bamboo中创建了一个Bash脚本任务,用于将2个子模块POM中的Jars和资源打包到一个tar.gzip文件中。此tar.gzip文件存在于我的bamboo机器上的路径a/b/c/d中。
如何将此tar.gzip上传到Nexus存储库?
我的困惑是:
我已了解如何将工件上传到Nexus。但是,如果构建生成的仅有一个jar/ear/war文件,我就可以理解了。但我们需要打成包。因此,如果我更改settings.xml和POM.xml以配置上传到NEXUS,则每个JAR文件将上传到Nexus中单独的路径中。然后我必须单独配置以上传资源文件(不是构建的一部分)。我的理解正确吗?请告诉我如何继续?
非常感谢!

建议:提问时尽量简短明了。人们不喜欢阅读“长篇大论”的文字堆积。 - zoran404
1个回答

1
使用Maven Assembly Plugin创建一个包含你的构件和资源的组装件,然后通过常规的Maven部署将其部署到Nexus中。

非常感谢您的帮助。如果我使用bash脚本任务来打包而不是使用maven assembly插件(为了避免对POM进行更改),那么mvn Deploy会起作用吗?再次感谢您的快速回复。 - scm_guy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接