在 Jenkins 中连接 CentOS 节点(Agent/Slave),常见做法是通过 SSH 连接。下面我按最常用、最稳妥的方式一步一步说明,适合初学者或生产环境。
Jenkins Agent 必须依赖 Java:
java -version
如果没有安装:
# CentOS 7
yum install -y java-1.8.0-openjdk
# CentOS 8 / Stream
dnf install -y java-17-openjdk
✅ 推荐 Java 11 或 17(与 Jenkins 版本匹配)
useradd jenkins
passwd jenkins
给 sudo 权限(可选):
echo "jenkins ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
进入 Jenkins:
Jenkins → Manage Jenkins → Nodes
点击 New Node
| 配置项 | 说明 |
|---|---|
| Node Name | 如 centos-node-1 |
| Type | ✅ Permanent Agent |
| Remote root directory | /home/jenkins |
| Labels | centos |
| Usage | ❌ Use this node as much as possible |
| Launch method | ✅ Launch agents via SSH |
Username with passwordjenkinsNon verifying Verification StrategyHost → 192.168.1.100
Credentials → jenkins/password
ssh-keygen -t rsa -b 4096
ssh-copy-id jenkins@centos_ip
SSH Username with private keyjenkinsid_rsa-Xms256m -Xmx512m
如果配置正确,你会看到:
Agent successfully connected and online
在 Jenkins Master 上:
ssh jenkins@centos_ip
在 Job 中设置:
Restrict where this project can be run
Label Expression: centos
centos-node-1
排查顺序:
/home/jenkins 目录权限Manage Jenkins → System Log
chmod 700 /home/jenkins/.ssh
chmod 600 /home/jenkins/.ssh/authorized_keys
chown -R jenkins:jenkins /home/jenkins
| 方式 | 适用场景 |
|---|---|
| ✅ SSH | 最常用、推荐 |
| JNLP | 防火墙限制 |
| Web Start | 已废弃 |
| Docker Agent | 动态节点 |
✅ CentOS 安装 Java
✅ 创建 jenkins 用户
✅ Jenkins → Nodes → New Node
✅ SSH 连接
✅ Job 绑定节点
如果你愿意,可以告诉我:
我可以给你 完全贴合你环境的配置方案 ✅