温馨提示×

centos jenkins如何配置节点

小樊
41
2026-09-21 13:40:54
栏目: 智能运维

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

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

下面以 CentOS 7/8 作为 Jenkins Agent 节点 为例,说明完整配置步骤。


一、准备工作(Agent 节点 CentOS)

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

useradd jenkins
passwd jenkins

2. 安装 Java(必须)

Jenkins Agent 需要 Java 运行环境:

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

验证:

java -version

3. 创建 Agent 工作目录

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

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

方式一:SSH 启动 Agent(推荐)

1. 进入 Jenkins

Jenkins → Manage Jenkins → Manage Nodes and Clouds

2. 新建节点

  • 点击 New Node
  • 输入节点名称(如 centos-agent)
  • 选择 Permanent Agent
  • 点击 OK

3. 节点配置

关键参数:

参数 说明
Remote root directory /home/jenkins/agent
Labels centos(用于任务绑定)
Launch method Launch agents via SSH
Host Agent IP 或域名
Credentials 添加 SSH 用户名+私钥
Java path /usr/bin/java

✅ 保存后 Jenkins 会自动连接


方式二:JNLP(不推荐但不依赖 SSH)

1. 新建节点

  • Launch method 选择: Launch agent by connecting it to the controller

2. Agent 节点执行

curl -sO http://jenkins-ip:8080/jnlpJars/agent.jar
java -jar agent.jar \
  -jnlpUrl http://jenkins-ip:8080/computer/centos-agent/slave-agent.jnlp \
  -secret xxxxxxxx

(可写成 systemd 服务)


三、CentOS 设置为 systemd 服务(推荐)

/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 your-secret
Restart=always

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

四、验证节点状态

  • Jenkins → Nodes
  • 节点状态应为 Connected
  • 可在 Job 中指定:
    agent { label 'centos' }
    

五、常见问题

1. SSH 连不上

  • 防火墙:firewall-cmd --add-port=22/tcp
  • SELinux 临时关闭测试

2. Java 版本不匹配

  • Master 和 Agent Java 大版本尽量一致

3. 权限问题

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

如果你愿意,我可以:

  • 给你 完整的 Jenkinsfile 示例
  • 教你 Docker 方式运行 Agent
  • 针对 Jenkins + GitLab + Maven 构建做配置

你现在是 新装 Jenkins 还是 已有 Master 想加节点?

0 踩