1、节点注册
登陆jenkins master界面
路径:首页-->系统管理--> 节点管理-->新建节点(New Node)
插曲:我在新的服务器部署master节点,显示剩余交换空间为0B
处理方式请查看:Jenkins - Free Swap Space 0(剩余交换空间为0)_Venele的博客-CSDN博客
1.1 节点命名,并选择固定节点
1.2 节点配置
Number of executors:8 (节点同步可执行的任务数)
远程工作目录:/var/jenkins (工作目录必须设置,否则 Jenkins 节点上的一些文件就会在用户的 home 目录)
启动方式:选择通过 Java Web 代理
点击保存,生成节点
点击test1节点,查看确认生成了secret-file,则节点注册完成
2、节点部署
基础软件:docker python3 docker-compose
基础软件安装参考:Docker搭建Jenkins master_Venele的博客-CSDN博客
登陆部署节点的服务器,编辑jenkins-agent的docker-compose.yml以及startup-agent.sh启动脚本
2.1 docker-compose.yml编辑
vim /var/docker/docker-compose.yml
<-----# docker-compose.yml 内容如下:----->
version: "3"
services:
jenkins-agent:
image: jenkins/inbound-agent:alpine
container_name: jenkins-agent
restart: always
network_mode: host
user: root
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/docker/jenkins/jenkins:/var/jenkins
- /var/docker/jenkins/startup-agent.sh:/var/startup.sh
command: /var/startup.sh
2.2 startup-agent.sh脚本编辑
vim /var/docker/jenkins/startup-agent.sh
<-----startup-agent.sh内容如下:----->
#!/usr/bin/env bash
apk add docker-cli tini
tini -- /usr/local/bin/jenkins-agent -url http://ip:port <Secret> <NodeName>
注:
http://ip:port <Secret> <NodeName>中
ip:jenkins master节点服务的IP
port:jenkins master服务端口,默认为8080
NodeName:节点名称,jenkins master注册节点是所填写的名称,本案例中为: test1
Secret:在jenkins master页面注册节点成功后生成的秘钥,如下图
2.3 startup-agent.sh授权及节点工作目录的创建
# 创建执行目录
mkdir -p /var/docker/jenkins/jenkins
# 启动脚本授权
chmod +x /var/docker/jenkins/startup-agent.sh
3、启动节点
3.1 启动节点镜像
docker-compose up -d
3.2 查看节点镜像是否启动成功
docker logs -f jenkins-agent
3.3 启动成功,则日志中显示connected状态
刷新jenkins节点列表,节点正常
踩坑:
因为我的master 节点部署在阿里云,阿里云的通讯端口需要手动设置,jenkins通讯需要设置8080,50000两个端口,不然节点无法连接成功