上一篇docker镜像以及容器启动后我们就可以进行访问了

打开浏览器 输入ip加端口号

jenkins部署springcloud 发布到docker springcloud jenkins自动部署_jar


到这里我们的镜像就成功了

但是我们最后的目的还是没有实现 因为我们需要的是自动部署

这时候我们整理下思路

1.我们有了jenkins可以实现拉取源代码

2.Jenkins可以实现根据不同的服务进行打包

3.docker制作镜像后可以运行jenkins所打的jar包

有了这些东西后我们就可以把jenkins和docker串联起来就可以实现自动打包部署了

我们回到jenkins的配置里面

这是代表这jenkins构建项目完成后要执行的操作 这里选择执行shell脚本将我们jenkins打好的jar放到我们docker制作镜像的目录文件下
然后再执行镜像制作 容器启动 不就可以实现jenkins和docker的自动化部署了

jenkins部署springcloud 发布到docker springcloud jenkins自动部署_docker_02


1.shell脚本简单 可自行优化

我简述下思路流程

首先把镜像制作文件下的jar删除

1.rm -rf /tsstore/eureka/tsstore-server-1.0-SNAPSHOT.jar

将jenkins目录下打好的包 放到首先把镜像制作文件目录下 实现jar替换

2.cp -r /var/lib/jenkins/workspace/tsstore_eureka/tsstore-server/target/tsstore-server-1.0-SNAPSHOT.jar /tsstore/eureka

停掉之前启动的容器

3.docker stop eureka

#4.删除容器

docker rm eureka

#5删除镜像

docker rmi eurekaimage

cd /tsstore/eureka 进入镜像文件制作目录

#6重新制作创建镜像

docker build -t eurekaimage .

#7重新启动镜像挂载数据卷

docker run -d -p 8888:8888 -v /root/sit/dockerImageslogs:/logs --name eureka eurekaimage然后观察日志是否启动成功 浏览器访问

但是现在实现的只是 单个服务的jar的部署 微服务自然是有很多个服务和jar怎么解决

我选择的是每个服务都去拉取代码 然后配置内容里 打包就打对应服务的包 然后执行shell脚本 进行jar替换 镜像重新制作

也就是把每个服务都制作成镜像启动

jenkins部署springcloud 发布到docker springcloud jenkins自动部署_shell脚本_03

***注: 不喜勿喷   过程复杂  也确实实现了自动化部署   如有更好的方法和见解  欢迎交流  未经授权不得用于商用  转载请注明出处***