针对单个项目我们是戳手可得,但对于多个微服务组合的项目,如果一起构建既浪费时间又需要对所有项目进行统一编译,浪费太多的时间。为了节约宝贵的发布时间,查找了很多资料最终找到了解决微服务项目可实现单独打包的目标。特此分享给大家让我们的互联网少一些疑惑。
1、首先下载插件extend choice parameter
2、在新建任务中创建一个maven项目
3、参数化构建选择
说明:
参数化构建是为了实现微服务框架单个微服务实现构建功能,避免不必要的构建浪费时间,注意红色框中的选项是不进行选择的,如果选择了在用参数路径时会出现双引号,项目路径会提示无法找到,所以必须去掉才可以正常访问路径。
NAME= MODULE_PARAMS,是为动态参数为后面项目构建做准备。其他部分按截图内容进行填写就可以。
Value值为项目中的项目名称(你微服务的名字)与下面shell脚本对于,这样才可以进行构建。
4、代码下载
git地址配置我用的是ssh方式下载项目要快于http
5、环境构建
Jenkins构建项目的目录,就是你jenkins从git上下载项目后在jenkins服务器上编译项目的地址
cd ${WORKSPACE}/${MODULE_PARAMS}
变量转化后地址就是
~/.jenkins/workspace/test-item/xxx-eureka 说明:test-item 就是任务名称
举例:如果你的项目目录是
ceshi--item
xxx-eureka
xxx-business
xxx-config
那么 test-item 就是ceshi--item
~/.jenkins/workspace/test-item/xxx-eureka
mvn打包的路径及切换到你的微服务下进行打包操作
/usr/local/apache-maven-3.3.9/bin/mvn clean package
打印你的地址看是否与编译的地址一致,如不一致请仔细检测问题原因。
echo "success"+${WORKSPACE}/${MODULE_PARAMS}
上文中的意思是切换到项目目录下单独执行某个模块的构建行为。到此微服务项目就可以构建了,至于到服务器发布构建,网上大咖太多我就不在多嘴了。