点击跳转第一篇
好像用docker搭建的jenkins,在使用jenkins 时无法使用docker 命令,建议不要用docker 搭建jenkins
1、使用Jenkins 去拉取源码
2、拉取完之后进行打包,
2.1、打出来的jar包放到 Dockerfile 目录下。2.2、基于Dockerfile 构建成新的镜像 。3、将刚构建的镜像打个TAG,然后push到私有仓库下
4、执行启动脚本
4.1、登录 10.8.9.3 删除旧的容器和镜像 (记得备份哦)4.2、登录 10.8.9.3 拉取刚才push上去的镜像,然后启动成容器打开jenkins 进入配置
该步骤包含了 2.1、2.2、3、4、4.1、4.2
jenkins上就配置这两个地方即可
#!/bin/bash source /root/.bashrc cd /data/app/jenkins/workspace/${JOB_NAME} #JOB_NAME 是jenkin自带的变量,就是此jenkins工作任务的名字 mvn clean package -Dmaven.test.skip=true #打包 cd target #进入打完包的目录 cp demo-0.0.1-SNAPSHOT.jar /data/docker/dockerfile/test/ #将打完包的 jar 放到 另外一个目录下 cd /data/docker/dockerfile/test/ #进入这个目录 #删除旧的镜像 docker rmi 10.8.9.3/demo:1.1 #基于dockerfile构建新的镜像 docker build -t 10.8.9.3/demo:1.1 . #使用dockerfile 启动新的镜像 不用不忽略后面的 点哦 . docker images #查看镜像 #将新的镜像上传docker私有仓库 docker push 10.8.9.3/demo:1.1 #启动部署各个节点脚本 ./demo-start.sh好,Jenkins 上配置 写完了 接下来我们 就到服务器上写 dockerfile 和 demo-start 的启动脚本了
Dockerfile 的配置写法 查度娘吧
第一条 echo 下的命令介绍
使用 ansible 远程执行 10.8.9.3 该服务器, 先停止 已有的容器; 在进行删除该容器; 在删除镜像
第二条echo下的命令介绍
使用 ansible 远程执行 10.8.9.3 该服务器 先下载私有仓库的的镜像; 打个新TAG #就是重新命名为 demo:1.1 删除 旧的 镜像 启动新命名的镜像 demo:1.1 –name 给该镜像启动的后容器取名字 -v 本地宿主机的映射路径:jar 容器内部的路径 -p 端口映射 -d 后端运行
注意: Dockerfile、demo-start、demo-0.0.1-SNAPSHOT.jar 这三个文件 必须在同一路径
然后在Jenkins 执行刚才建的JOB 就可以了
以上分享是个人摸索,希望各位看官多多指教
