jenkins整合docker实现自动化部署-Docker+SVN+Jenkins+Maven+Harbor
一 背景
使用docker + jenkins的形式实现自动化部署,为测试服提供项目单独开发环境。
二 环境搭建
docker版本: Docker version 18.09.4
1 docker创建可使用的镜像
docker安装JDK1.8 + tomcat8:
拉取tomcat镜像
docker pull tomcat:8-jre8
创建tomcat容器
创建容器用于部署单点登录系统(CAS) -p表示地址映射
docker run -di --name=test_233_tomcat -p 9000:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:8-jre8
进入tomcat:
docker exec -it test_233_tomcat /bin/bash
拷贝war到tomcat里面
docker cp floorDataDisplay.war e81d32d60c3a:/usr/local/tomcat/webapps
e81d32d60c3a :docker ps 查运行id
重启tomcat
2 docker镜像推送到harbor
docker登录harbor:
docker login harbor的IP地址
docker login 172.20.4.127
docker打包harbor:
docker tag 镜像名称 Harbor的IP地址/Harbor仓库下的项目名称/项目名称
docker tag tomcat8_jdk8 172.20.4.127/konka/java/tomcat8_jdk8
docker提交harbor:
docker push Harbor的IP地址/Harbor仓库下的项目名称/项目名称
docker push 172.20.4.127/konka/java/tomcat8_jdk8
3 docker拉取镜像从harbor
docker登录harbor:
docker login harbor的IP地址
docker login 172.20.4.127
docker 拉取镜像
docker pull Harbor的IP地址/Harbor仓库下的项目名称/项目名称
docker pull 172.20.4.127/konka/java/tomcat8_jdk8
docker pull 172.20.4.127/konka/java/tomcat8_jdk8:latest
三 开始实操
1 新建一个jenkins项目

2 填写备注

3 填写SVN信息

4 填写maven、docker部署的命令行

Exec command(ssh 执行命令行)
# 修改容器名称,端口号,镜像名称即可-镜像名称一般不需要修改
# 容器名称=t8_j8_test_9003
container_name=t8_j8_test_9003
# 端口号=9003
container_port=9003
# 项目名称
project_name=test
# 镜像名称:tomcat8 + jdk8 = tomcat8_jdk8
image_name=tomcat8_jdk8
# 删除旧容器
docker stop ${container_name};
docker rm ${container_name};
# 启动新容器
docker run -d --name=${container_name} -p ${container_port}:8080 ${image_name};
# 拷贝war到容器
docker cp /data/jenkins/copy/128/target/${project_name}.war ${container_name}:/usr/local/tomcat/webapps;
echo "成功成功成功"
5 点击构建即可

快来尝试吧,欢迎提出意见,后续会继续更新。
版权声明:本文为weixin_41141000原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。