标签:
由于官方只支持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.linuxidc.com/Linux/2015-07/120287.htm):
其中,它们间的关系如下:
坑:
在上图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 \
Docker连接General Version Control System(Gitlab/Github)自动build
标签:
原文地址:http://www.cnblogs.com/flasheryu/p/5728645.html