jenkins slave docker容器化
2018-07-09 本文已影响0人
荒原_狼
背景
jenkins配置的构建任务越来越多,导致服务器存储空间不够,故希望通过将构建任务放到容器中运行,下载的资源随容器的销毁,而随之释放,这样就能很好的解决空间不够的问题。
操作步骤
添加Docker云
进入系统管理->系统设置,拉到底部【新增一个云】模块,选择‘Docker’

配置Docker主机
箭头所指处,即笔者连接的安装了docker的服务器,切记,该服务器docker需开启远程访问,2375即远程访问的端口。不清楚如何开启docker服务器远程访问的童鞋,可移步至Centos7系统docker开启远程访问

配置节点标签及镜像
标签名字自己取;镜像采用官方提供的 jenkins/ssh-slave,官方文档中有说明,这个镜像要求安装了JDK和sshd,有兴趣的同学也可以自己制作。
注:docker服务器上先将jenkins/ssh-slave镜像下载好,否则构建的时候创建不了容器。
[root@TK-PMS-169 ~]# docker pull jenkins/ssh-slave
Using default tag: latest
Trying to pull repository docker.io/jenkins/ssh-slave ...
latest: Pulling from docker.io/jenkins/ssh-slave
c73ab1c6897b: Already exists
1ab373b3deae: Already exists
b542772b4177: Already exists
57c8de432dbe: Already exists
da44f64ae999: Already exists
0bbc7b377a91: Already exists
1b6c70b3786f: Already exists
d9bbcf733166: Pull complete
b1d3e8de8ec6: Pull complete
e01ff1209d1c: Pull complete
b9cf0b42cd9c: Pull complete
0263b8d00255: Pull complete
80bb4f2eef42: Pull complete
Digest: sha256:055207472fcdd8fae227dbb46305032cb483f28a37ea9785f058a61b9db41969
Status: Downloaded newer image for docker.io/jenkins/ssh-slave:latest


通过SSH的方式Launch节点
设置远程根目录,选择‘Connect with SSH’连接方式,连接用户名,用‘jenkins’,这个在官方镜像解析文档中有说明。

至此,节点配置完成。
测试
立马测试下,配置是否成功
新建Job
选择自由风格的项目

配置任务
选择刚设置的节点标签

运行一段简单的shell命令

执行构建
由于是容器构建,所以显示构建进度条前,需等待几秒,心急的同学,不要以为配置错误,就立马关闭掉了。

查看执行结果

ok,执行成功!