上一篇docker镜像以及容器启动后我们就可以进行访问了
打开浏览器 输入ip加端口号
到这里我们的镜像就成功了
但是我们最后的目的还是没有实现 因为我们需要的是自动部署
这时候我们整理下思路
1.我们有了jenkins可以实现拉取源代码
2.Jenkins可以实现根据不同的服务进行打包
3.docker制作镜像后可以运行jenkins所打的jar包
有了这些东西后我们就可以把jenkins和docker串联起来就可以实现自动打包部署了
我们回到jenkins的配置里面
这是代表这jenkins构建项目完成后要执行的操作 这里选择执行shell脚本将我们jenkins打好的jar放到我们docker制作镜像的目录文件下
然后再执行镜像制作 容器启动 不就可以实现jenkins和docker的自动化部署了
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替换 镜像重新制作
也就是把每个服务都制作成镜像启动
***注: 不喜勿喷 过程复杂 也确实实现了自动化部署 如有更好的方法和见解 欢迎交流 未经授权不得用于商用 转载请注明出处***