在微服务架构中,随着服务越来越多,服务的打包部署就会成为一个相当麻烦的事情。比如说我的 mall-swarm
项目目前就有8个服务需要部署,有没有什么办法让我们部署一次之后,只要点击执行就可以自动部署呢?当然有!下面我们使用Jenkins来完成一个微服务架构中的自动化部署工作。
关于Jenkins的基本使用可以参考: 使用Jenkins一键打包部署SpringBoot应用,就是这么6!
首先我们先把需要远程执行的脚本准备好。
mall-swarm
项目的 /document/sh
目录下: LF
,否则脚本会无法执行; /mydata/sh
目录下; chmod +x ./mall-* 复制代码
接下来我们将通过在Jenkins中创建任务来实现自动化部署。由于我们的 mall-swarm
是个多模块的项目,部署上面和曾经的单模块项目还是有所区别的。
由于各个模块的执行任务的创建都大同小异,下面将详细讲解mall-admin模块任务的创建,其他模块将简略讲解。
构建一个自由风格的软件项目
,然后输入任务名称为mall-admin,配置其Git仓库地址,这里我直接使用了Gitee上面的地址: mall-swarm
项目中的依赖模块,否则当构建可运行的服务模块时会因为无法找到这些模块而构建失败; # 只install mall-common,mall-mbg,mall-security三个模块 clean install -pl mall-common,mall-mbg,mall-security -am 复制代码
mall-registry和其他模块与mall-admin创建任务方式基本一致,只需修改构建模块时的 pom.xml
文件位置和 执行脚本
位置即可。
${WORKSPACE}/mall-registry/pom.xml
/mydata/sh/mall-registry.sh
其他模块的执行任务创建,参考mall-admin和mall-registry的创建即可。
关于各个模块的启动顺序问题, mall-registry
模块必须第一个启动, mall-config
模块必须第二个启动,其他模块没有启动顺序限制。
推荐启动顺序: