在 CentOS 上配置 Jenkins 代理(Agent / Node) 通常有两种常见方式:
下面以 CentOS 7/8 为例,一步一步说明。
# 安装 Java(Jenkins Agent 必须)
sudo yum install -y java-1.8.0-openjdk
# 验证
java -version
sudo useradd jenkins
sudo passwd jenkins
在 Jenkins Master 上:
ssh-keygen -t rsa
ssh-copy-id jenkins@agent_ip
测试:
ssh jenkins@agent_ip
打开 Jenkins
Manage Jenkins → Manage Nodes and Clouds → New Node
填写:
centos-agent配置:
/home/jenkinsagent_ip保存后,Jenkins 会自动连接 Agent
记下:
mkdir -p /opt/jenkins
cd /opt/jenkins
# 下载 agent.jar
curl -O http://jenkins_ip:8080/jnlpJars/agent.jar
# 启动
java -jar agent.jar \
-url http://jenkins_ip:8080/ \
-secret xxxxxxxx \
-name centos-agent \
-workDir /opt/jenkins
✅ 建议用 systemd 或 nohup 后台运行
sudo vi /etc/systemd/system/jenkins-agent.service
[Unit]
Description=Jenkins Agent
[Service]
User=jenkins
WorkingDirectory=/opt/jenkins
ExecStart=/usr/bin/java -jar /opt/jenkins/agent.jar \
-url http://jenkins_ip:8080/ \
-secret your_secret \
-name centos-agent \
-workDir /opt/jenkins
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable jenkins-agent
sudo systemctl start jenkins-agent
pipeline {
agent { label 'centos-agent' }
stages {
stage('Test') {
steps {
sh 'hostname'
}
}
}
}
❌ JDK 版本不匹配 → Master / Agent 都用 Java 8
❌ 防火墙 → 开放 22 / 8080
❌ 权限不足 → Agent 目录属主正确
如果你愿意,我可以:
直接告诉我你的 Jenkins 版本和环境即可。