温馨提示×

centos jenkins如何配节点

小樊
37
2026-09-30 10:42:32
栏目: 智能运维

在 CentOS 上配置 Jenkins 节点(Agent/Slave) 通常有两种常见方式:

  1. SSH 方式(推荐,最常用)
  2. JNLP 方式(Java Web Start)

下面我以 CentOS 7/8 作为 Jenkins Agent 节点 为例,一步一步说明。


一、准备工作(在 CentOS 节点上)

1. 安装 Java

Jenkins Agent 必须安装 JDK(推荐 JDK 8 或 11)

# CentOS 7
yum install -y java-1.8.0-openjdk

# CentOS 8
dnf install -y java-11-openjdk

# 验证
java -version

2. 创建 Jenkins 用户(可选但推荐)

useradd jenkins
passwd jenkins

3. 创建 Agent 工作目录

mkdir -p /home/jenkins/agent
chown -R jenkins:jenkins /home/jenkins/agent

二、Jenkins 主节点配置节点(Web UI)

1. 进入 Jenkins

Jenkins -> 系统管理 -> 节点管理 -> 新建节点

2. 节点配置示例(SSH 方式)

  • 节点名称:centos-agent
  • 类型:Permanent Agent
  • 远程工作目录:/home/jenkins/agent
  • 启动方式:
    ✅ Launch agents via SSH

SSH 配置

  • Host:CentOS 节点 IP
  • Credentials:
    • 用户名:jenkins
    • 私钥(推荐)或密码
  • Host Key Verification Strategy:
    • Non verifying Verification Strategy(测试环境)

三、JNLP 方式(无 SSH 也可用)

1. Jenkins 新建节点

  • 启动方式:Launch agent by connecting it to the master
  • 保存后会生成一条命令,例如:
java -jar agent.jar \
  -jnlpUrl http://jenkins-ip:8080/computer/centos-agent/slave-agent.jnlp \
  -secret xxxxxxxx

2. 在 CentOS 节点执行

cd /home/jenkins/agent
wget http://jenkins-ip:8080/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://jenkins-ip:8080/computer/centos-agent/slave-agent.jnlp -secret xxxx

3. 设置为系统服务(推荐)

vim /etc/systemd/system/jenkins-agent.service
[Unit]
Description=Jenkins Agent
After=network.target

[Service]
User=jenkins
WorkingDirectory=/home/jenkins/agent
ExecStart=/usr/bin/java -jar /home/jenkins/agent/agent.jar \
  -jnlpUrl http://jenkins-ip:8080/computer/centos-agent/slave-agent.jnlp \
  -secret xxxx
Restart=always

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start jenkins-agent
systemctl enable jenkins-agent

四、验证节点是否在线

  • Jenkins 节点列表显示 ✅ Online
  • 可在 Job 中指定:
    Restrict where this project can be run -> centos-agent
    

五、常见问题

1. 节点连不上

  • 防火墙:8080 / 22
  • SELinux:setenforce 0(测试)

2. Java 版本不匹配

  • Jenkins 2.3xx 推荐 Java 11

3. 权限问题

  • Agent 目录必须是 jenkins 用户可写

如果你愿意,我可以:

  • 给你 一键脚本
  • 帮你配 Docker Agent
  • 或针对 Jenkins Pipeline 指定节点

直接告诉我你的 Jenkins 版本和运行环境即可。

0 踩