jenkins可以按照jenkins容器启动去部署
Jenkins管理动态节点
动态节点可以在有job运行时,临时加入一个agent到jenkins master,然后等job执行完毕之后,所加入的agent再自动删除掉,达到一个动态的增删节点效果,使所有的job都在远端的某个集群中执行。
目前执行动态扩缩节点的方式有docker cloud和k8s cloud。在此使用的是docker cloud
docker cloud配置
1.首先需要安装docker插件,系统管理—>插件管理—>可选插件—>搜索docker,主要的有Docker 、docker pipeline插件,其他插件可以酌情下载。
2.配置docker守护进程,使其可以通过主机ip+端口的形式访问:
systemctl cat docker
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2376
systemctl daemon-reload && systemctl restart docker
添加此配置后,重新启动docker,主机便会暴露2376端口,供客户端访问,需要注意安全问题,可以通过防火墙等安全设备对端口进行限制,也可以为此端口指定证书,必须有此端口证书和私钥才可以访问成功。
3.在Jenkins端配置docker cloud,系统管理—>节点管理—>Configure Clouds—>Add a new cloud—>Docker
4.配置Docker Cloud details,主要是配置地址+端口,如果有证书则也配置上证书。
5.新建一个pipeline项目测试
pipeline {
agent {
label 'dockercloud'
}
stages {
stage ('Exec Test Command') {
steps{
echo 'begin+++++++++++++++++++++'
sh 'sleep 300s'
sh 'whereis java'
echo 'end+++++++++++++++++++++++'
}
}
}
}