以上我们已经创建了一个项目futurecloud-eshop,并配置Github,包括github地址,用户名和密码,分支,且构建成功。
接下来,我们需要将此项目通过jenkins部署到docker。
1、配置构建环境
-
增加构建步骤:调用顶级maven目标
Add pre-build step -> invoker top-level-Maven targets

配置maven信息

Maven version: maven-3.6.0 #之前配置的全局maven名
Goals: clean package
POM: pom.xml
-
继续增加构建步骤:执行shell脚本
Add post-build step -> execute shell

在command中添加以下shell脚本
#docker运行服务URL
REGISTRY_URL=xxx.xxx.xxx.xxx:2375
#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/work/project
# 源项目工作空间
SOURCE_PATH=/root/.jenkins/workspace
#docker 镜像路径,也是父项目路径
PARENT_PATH=futurecloud-eshop
#docker 镜像/容器/项目名字或者jar名字数组 这里都使用项目名命名
PROJECT_NAMES=("eshop-eureka-server" "eshop-product-service" "eshop-price-service" "eshop-inventory-service" "eshop-datasync-service" "eshop-dataaggr-service" "eshop-datalink-service" "eshop-one-service")
#项目版本号/docker 容器tag,使用项目版本号来做tag,版本号要与项目数组PROJECT_NAMES一一对应
PROJECT_VERSIONS=("1.0-SNAPSHOT" "1.0-SNAPSHOT" "1.0-SNAPSHOT" "1.0-SNAPSHOT" "1.0-SNAPSHOT" "1.0-SNAPSHOT" "1.0-SNAPSHOT" "1.0-SNAPSHOT")
#docker容器暴露的端口,端口号要与项目数组PROJECT_NAMES一一对应,这里为了简化,docker容器端口与宿主机端口配置成一样的。
EXPOSE_PORTS=("8761" "8762" "8763" "8764" "8765" "8766" "8767" "8768")
##############以下内容不用修改
DATE=`date +%Y%m%d%H%M`
#创建项目环境目录
function projectDir(){
for (( i = 0 ; i < ${#PROJECT_NAMES[@]}
使用jenkins + docker部署spring cloud微服务实践

本文介绍了如何通过jenkins进行持续集成,将futurecloud-eshop项目部署到docker。首先配置了jenkins构建环境,执行maven的clean package目标,接着在每个子模块中编写Dockerfile,最后成功执行构建并访问到了eureka服务页面。
最低0.47元/天 解锁文章
1520





