Jenkins slave 容器化

系统环境:CentOS Linux release 7.3.1611 x86_64 GNU/Linux
Docker C/S Version: 1.13.1

配置Docker服务开启远程访问

在作为docker远程服务的centos7机器中,修改docker.service配置:

修改docker.service,增加 -H 参数,详见截图
此处默认2375为主管理端口,7654是备用端口
# vim /usr/lib/systemd/system/docker.service

将管理地址写入/etc/profile
# echo 'export DOCKER_HOST=tcp://0.0.0.0:2375' >> /etc/profile
# source /etc/profile

Docker重新读取配置文件,然后重启
# systemctl daemon-reload
# systemctl restart docker

验证是否开启成功
# ps -ef | grep docker 
# docker -H tcp://IP:2375 images
3512339-11c0d1e08081c1c0.png


Jenkins 配置Docker Cloud

  1. Jenkins首先安装插件Docker plugin 后重启;
    3512339-9cd92cbae27f2bc5.png
  2. 进入Jenkins->系统管理->系统配置,页面拉到最下面,添加一个Docker云:
    3512339-a180bb7317221123.png
    image
  3. 配置Docker Host URI,并点击Test Connection进行测试:
    3512339-41766b226e9c3ee3.png
  4. 配置 Docker Agent template ,其中的Docker image: jenkins/ssh-slave是 Docker plugin推荐的,用户完全可以自定义,相关介绍详见插件官方说明
    3512339-86e9801941791dda.png


Job 运行测试

  1. 新建一个自由风格的Job,在General中配置限制Job运行的节点为 Docker Agent template中的Lebels, 在 Build中增加几个用于测试的简单shell命令后,保存项目配置。
    3512339-bdf534cab6052fe2.png
    3512339-db3ee593f1cef7c8.png
  2. 点击运行Job,可以看到 Build Executor Status中,自动多了一个Docker Slave节点,在项目构建历史中可以清楚的看到当前构建正在等待容器启动:
3512339-98e3d622a237d7a9.png
image

3512339-e614f39791858c18.png
image

只需要等待容器启动完成后,即可自动执行之前设置的测试命令,运行完后会自动回收容器(完全删除),如下:

3512339-3c8d325c25b8204b.png
image

参考文档

  1. Centos7系统docker开启远程访问 ,荒原_狼
  2. jenkins slave docker容器化 , 荒原_狼

猜你喜欢

转载自blog.csdn.net/weixin_34167043/article/details/87517470