jenkins 配置子项目发版

谁说我不能喝 提交于 2019-12-20 02:49:33

刚接手公司的项目虽说也多模块、分布式部署,但是模块之间却没有被父项目管理,每个模块是一个小的父子项目,管理了两个子项目,单独维护着当前模块内使用的依赖,版本等,模块之间自然有很多重复引用的依赖,我不知道当初为什么这样创建,在我集成apollo配置中心的时候我改掉了这样依赖结构,所有的模块的依赖都和版本都统一由一个父pom管理,这也为后面埋下一个坑。
测试环境上线的时候,使用的jenkins自动部署,原以为更换了源码路径就可以了,但是发版错误提示没有定义版本号,×××的是要部署的模块代码,其他模块没有下载源码,可能这就是当初为什么人家单独在模块pom里维护当前项目的依赖,因为打包自身的配置就够用了,现在换成了父项目管理,版本信息是继承来的,而源码只现在了当前模块,没有父pom所以版本信息找不到,那就要把下载源码的路径向上一级

jenkins 配置子项目发版
这里Repository URL的路径指向父项目,不再是部署的模块,虽然有了父pom文件,但是把其他所有的模块都下载了,后面再一打包很耗时间,好在maven有命令,可以指定子项目打包:

clean install   -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true -U -pl  子项目名称  -am

主要是后面两个命令,pl指定要打包的子项目,am是当前项目依赖的模块项目也打包

这里可以把后面的-am参数去掉,一般项目中都有自己的私服,并且也会配置在pom中,这里去掉-am之后打包更快,前提是依赖的模块项目要把deploy到私服中

改完这里之后,jenkins配置获取打好的war包路径也需要改一下

jenkins 配置子项目发版

就是这里的Source files 和 Remove prefix两个地方
修改完之后可以正常使用

这里不用担心每个模块都会下载一份源码,只有第一次构建的时候是全部下载源码,以后就只会增量更新,如果中途清空了jenkins构建项中的workspace,那在下一次构建时也是要下载全部源码的。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!