温馨提示×

jenkins如何连接centos节点

小樊
39
2026-09-12 05:04:23
栏目: 智能运维

在 Jenkins 中连接 CentOS 节点(Agent/Slave),通常有几种方式,最常用的是 SSH 方式。下面我按最常见、最稳定的 SSH 方式一步一步说明,并补充其他方式。


一、准备 CentOS 节点

1. 在 CentOS 上创建 Jenkins 用户(推荐)

sudo useradd jenkins
sudo passwd jenkins

2. 安装 Java(必须)

Jenkins Agent 需要 Java:

java -version

如果没有:

sudo yum install java-11-openjdk -y
# 或
sudo yum install java-1.8.0-openjdk -y

3. 确保 SSH 服务运行

systemctl status sshd

如未启动:

sudo systemctl start sshd
sudo systemctl enable sshd

二、Jenkins master 配置 CentOS 节点(SSH 方式)

1. 打开 Jenkins

Manage Jenkins → Manage Nodes and Clouds → New Node

2. 配置节点

  • Node namecentos-node
  • Type:Permanent Agent
  • 点击 Create

3. 节点参数说明

  • Remote root directory
    /home/jenkins
    
  • Labels(可选):centos
  • Launch method
    Launch agents via SSH

4. 配置 SSH

  • Host:CentOS IP(如 192.168.1.100
  • Credentials:
    • 点击 Add
    • Username:jenkins
    • Password 或 SSH Key
  • Host Key Verification Strategy:
    • 测试环境可选 Non verifying Verification Strategy

5. 保存并启动

点击 Launch Agent
状态变为 Online 即成功 ✅


三、使用 SSH Key(推荐生产环境)

在 Jenkins Master 上生成密钥

ssh-keygen -t rsa

拷贝公钥到 CentOS

ssh-copy-id jenkins@centos_ip

Jenkins Credentials 选择

  • Kind:SSH Username with private key
  • Private Key:粘贴 id_rsa

四、其他方式(简要)

1. Jar 方式(手动启动 Agent)

在 CentOS 执行:

java -jar agent.jar -jnlpUrl http://jenkins-url/computer/node/slave-agent.jnlp -secret xxx

2. Web 启动(JNLP)

  • Launch method 选 Launch agent via Java Web Start
  • 适合 Windows,CentOS 不常用

五、常见问题排查

连接失败

  • 防火墙
sudo firewall-cmd --add-port=22/tcp --permanent
sudo firewall-cmd --reload

Java 版本不匹配

  • Jenkins 2.3xx 推荐 Java 11

Permission denied

  • 检查 /home/jenkins 权限

如果你愿意,我可以:

  • 给你一份 Jenkinsfile 示例(指定 CentOS 节点运行)
  • 或帮你 写自动化脚本一键注册节点

你现在是 物理机 / 虚拟机 / 云服务器

0