jenkins 构建任务 —— 微服务依赖其它微服务

先看看之前的配置:

jenkins 构建任务 —— 微服务依赖其它微服务

 


因为我这个jenkins版本比较旧,配置中分了构建前(Pre Steps)——构建(Build)——构建后(Post Steps)。而我搭建的另一个版本跟网上查到的资料就一致了,是全部在一个构建里。

 

最近微服务刚开始学习,看小伙伴搭建的项目是根目录parent下又分了多个项目。所以前两篇发布的时候一直还有个问题,就是单独发布某个微服务,假设单独发布服务A,如果A服务引用了B服务,那么发布A的时候会提示找不到B的引用,所以在B有更新的时候,如果发布A就会报错,之前的解决方案是把parent项目直接创建一个构建任务,这样所有的服务都会被杀死重构。但这无疑是有隐患的,最好的方式是修改了哪个只发布哪个,不影响其他业务的执行。

于是又找起了答案,还真让我给找到了。

解决方案是在构建服务A之前先构建需要的服务B。

当然个人感觉还有一点不友好的是,只能把git(或svn)下整个根项目全部下载下来,而不能分别在一个构建里下载项目B和项目A构建。

具体配置如下:

jenkins 构建任务 —— 微服务依赖其它微服务

新引入的依赖项为调用顶层目标Maven(Invoke top-level Maven targets)。

如上图,因为只引用了common和common_model,所以根目录下只构建这两个即可。

#clean install -pl 引用的服务1[,引用的服务n] -am
clean install -pl common,common_model -am

 

此时真正要构建的服务在子目录system下,所以构建中的路径要改成子目录中的pom.xml:system/pom.xml。

 

执行成功。

 

上一篇:GYM103145L.k-th Smallest Common Substring(后缀树)


下一篇:【Target runtime Apache Tomcat v7.0 is not defined.-----解决】