微服务架构持续集成:(四)通过jenkins + docker 部署spring cloud微服务

本文介绍了如何通过jenkins进行持续集成,将futurecloud-eshop项目部署到docker。首先配置了jenkins构建环境,执行maven的clean package目标,接着在每个子模块中编写Dockerfile,最后成功执行构建并访问到了eureka服务页面。
摘要由CSDN通过智能技术生成

​ 以上我们已经创建了一个项目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 = 
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值