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

[经验分享] Docker连接General Version Control System(Gitlab/Github)自动build

[复制链接]

尚未签到

发表于 2018-1-11 19:36:29 | 显示全部楼层 |阅读模式
  由于官方只支持Docker连接Github的自动build,那么我们使用其他version control(如Gitlab,CVS等)的同学们应该怎么做呢。
  博主使用的方案是jenkins+jenkins提供的docker插件。
  需要用到DooD (Docker-outside-of-Docker) 或者DinD(Docker-in-Docker)技术。
  具体参照:
  http://container-solutions.com/running-docker-in-jenkins-in-docker/
  在jenkins容器可以访问docker命令完成以后,继续安装相关jenkins上的docker插件来完成gitlab上docker的自动build过程。
  本文中使用的docker相关插件包括以下五个(参考文章http://www.iyunv.com/Linux/2015-07/120287.htm):

  • CloudBees Docker Build and Publish plugin — This plugin provides the ability to build projects with a Dockerfile, and publish the resultant tagged image (repo) to the docker registry.
  • Docker build step plugin — This plugin allows to add various Docker commands into you job as a build step.
  • Docker Plugin — This plugin allows slaves to be dynamically provisioned using Docker.
  • Kubernetes Plugin — This plugin allows slaves to be dynamically provisioned on multiple Docker hosts using Kubernetes.
  • Docker Commons Plugin — APIs for using Docker from other plugins.
  其中,它们间的关系如下:

  • Docker commons Plugin为其他与Docker相关的插件提供了APIs
  • CloudBees Docker Build and Publish plugin和Docker build step plugin都依赖了Docker commons Plugin
  • Kubernetes Plugin依赖了Docker Plugin
  坑:

  在上图kitematic界面中点击右下侧任意一个路径,会弹出如图对话框,若选择Enable Volumes会发生四件坏事:
  1.强制重启jenkins server,即便有job没有完成;
  2.重启后需要重新安装jenkins插件;
  3.导致jenkins无法使用DooD的docker命令。
  3.admin用户的密码会改变。
  所以切记任何时候使用jenkins容器不要点选enable volumes。
  解决办法:
  停止(删除)docker,重新运行以下命令并配置新的jenkins容器。
  docker run -d -v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker -p 8080:8080 myjenk

运维网声明 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-434041-1-1.html 上篇帖子: MAC 终端上传代码到Github 或者 Gitlab 下篇帖子: gitlab新建项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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