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.sh3、启动节点
3.1 启动节点镜像
docker-compose up -d3.2 查看节点镜像是否启动成功
docker logs -f jenkins-agent3.3 启动成功,则日志中显示connected状态

刷新jenkins节点列表,节点正常

踩坑:
因为我的master 节点部署在阿里云,阿里云的通讯端口需要手动设置,jenkins通讯需要设置8080,50000两个端口,不然节点无法连接成功


















