设为首页 收藏本站
查看: 1068|回复: 0

[经验分享] docker持续集成部署、csphere监控平台【转:http://blog.csdn.net/java

[复制链接]

尚未签到

发表于 2018-1-12 15:06:22 | 显示全部楼层 |阅读模式
“  基础的设施我们已经搭建好了 下面我们就可以开始测试一下
  1)这里我新建了一个javaEE maven 项目 很简单写了一个 index.html
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/115028_qPVS_1022411.png

  2)在 gitlab新建一个docker-hello-world 项目仓库
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/115104_pWZM_1022411.png

  3) 编写打包镜像的Dockerfile     和部署到集群的 脚本 (放在当前项目里面就可以了)
  Dockerfile
  很简单的步骤 把编译好的war 放入镜像就可以了
  这里使用的是 官方 tomcat 镜像
?123FROM tomcat:8-jre8RUN rm -rf /usr/local/tomcat/webappsADD ./target/ROOT.war /usr/local/tomcat/webapps/ROOT.war  build.sh  部署使用的脚本
?12345678910111213141516171819202122232425262728293031#!/bin/bash #build in jenkins  # 你的docker 仓库的地址 REG_URL=XXX #你的swarm manage 节点的地址SWARM_MANAGE_URL=xx:2376 #根据时间生成版本号TAG=$REG_URL/$JOB_NAME:`date +%y%m%d-%H-%M` #使用maven 镜像进行编译 打包出 war 文件 (其他语言这里换成其他编译镜像)docker run --rm --name mvn  -v /mnt/maven:/root/.m2   \ -v /mnt/jenkins_home/workspace/$JOB_NAME:/usr/src/mvn -w /usr/src/mvn/\ maven:3.3.3-jdk-8 mvn clean install -Dmaven.test.skip=true  #使用我们刚才写好的 放在项目下面的Dockerfile 文件打包 docker build -t  $TAG  $WORKSPACE/.docker push   $TAGdocker rmi $TAG  # 如果有以前运行的版本就删了 if docker -H $SWARM_MANAGE_URL ps -a| grep -i $JOB_NAME; then        docker -H $SWARM_MANAGE_URL rm -f  $JOB_NAMEfi #运行到集群docker -H $SWARM_MANAGE_URL run  -d  -p 80:8080  --name $JOB_NAME  $TAG  4)在jenkins 上新建一个docker-hello-world 项目
  选择自由风格即可
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/141119_KoBm_1022411.png

  设置一下git仓库地址
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/151810_yP3y_1022411.png

  设置一下触发器 为了方便起见这里设置 每分钟拉取一下  也可以设置一下  gitlab hook
  同时设置一下 构建要执行的脚本 就执行我们刚才写好的脚本即可
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/141119_Fgjq_1022411.png

  5) 那么开始 推送到我们的仓库
  然后查看jenkins console 就可以看到执行的过程了 已经看到 已经执行成功了
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/143302_L3sZ_1022411.png

  访问一下 已经部署到集群了  (关于集群的负载均衡 部署这里就不讲了)
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/143509_dfs3_1022411.png

  6)更新版本
  修改一下index.html 然后 再次推送
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/143642_VMKK_1022411.png

  等待2~3分钟后我们就可以看到已经重新部署成功了 就是怎么简单
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/lx/AppData/Local/Temp/enhtmlclip/143915_CzSc_1022411.png

  问题1  为什么要把war包打包进容器 而不是挂载新的war包
  解答:docker的理念是一个整体 一个整体的运行环境而不是单纯的war包 更适合整体迁移
  问题2:这样镜像不会很大么 下载会不会很不方便
  解答:因为docker的镜像是多层依赖的所以 除了第一次下载慢一点以后都会复用之前相同的层
  所以下载的是不同的 部分 在本实例中只是war包的部分

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434287-1-1.html 上篇帖子: postgresql的psql常用命令 下篇帖子: JinksPeng
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表