是否有一种方法可以使用一个Maven2反应堆构建pom文件同时发布到Jenkins作业中的npm和maven存储库?反应堆构建文件包含两个模块,一个是标准jar模块,另一个是使用exec插件调用构建javascript项目的npm脚本目标的pom模块。Jenkins被配置为在构建成功时将maven依赖项发布到公司nexus服务器。
项目布局:
project/
pom.xml
npm-module/
pom.xml
mvn-module/
pom.xml 这对于mvn模块和npm模块的构建非常有用。但现在的诀窍是发布npm模块。Jenkins似乎只允许发布一个nexus后构建任务。
有办法这样做吗?有人能解释如何设置Jenkins和反应堆构建pom文件,将npm和maven模块发布到nexus吗?
发布于 2015-03-25 01:50:53
我有一个答案,但我很想听听其他的想法。
Jenkins安装
注意:使用deploy目标而不是jenkins的“”post步骤,因为它不使用maven,因此您的npm目标不会被调用。
pom.xml 安装
在npm -模块/um.xml中,使用前端-maven-插件并添加执行来安装节点/npm和npm发布。确保发布附加到部署阶段。使用说明已经足够好了。也可以使用exec插件在部署阶段执行npm publish命令。
在module/头.xml中,为快照回购位置添加分发管理/快照存储库。
settings.xml 安装
我们将带有用户名和密码的maven settings.xml放在配置目录中,如mvn-settings.xml/ config /maven-setings.xml。这并不理想,但我认为我们可以替换可以从maven/jenkins设置的用户名和密码w/属性。Jenkins将被配置为从这个位置读取该文件。
package.json 安装
在npm-模块/Package.json中,添加publishConfig/注册表项
"publishConfig": {
"registry": "url/nexus/content/repositories/npm-snapshots/"
}Nexus安装
npm托管存储库的快照被设置为允许重新部署。这可能不是一个好主意,但对于正在进行的新开发(显然不适合发行版)来说,这已经足够好了,我只是想让堆栈正常工作。我现在需要解决这些问题。
因此,撇开这个警告,现在jenkins构建将使用顶级的多模块反应堆pom将java和节点模块发布到各自的存储库中。
https://stackoverflow.com/questions/29232458
复制相似问题