温馨提示×

Debian里Jenkins如何配节点

小樊
46
2026-10-02 02:08:37
栏目: 智能运维

在 Debian 上配置 Jenkins 节点(Agent/Slave),通常分为 “准备节点机器” 和 “在 Jenkins 上添加节点” 两部分。下面用最常见、最稳妥的 SSH 方式 来说明(也适用于 Debian ↔ Debian / Debian ↔ Ubuntu)。


一、环境准备(所有机器)

1. 安装 Java(必须)

Jenkins 节点需要 JVM:

sudo apt update
sudo apt install -y openjdk-17-jdk

验证:

java -version

二、在 Jenkins Master(Debian)上操作

1. 登录 Jenkins Web

通常是:

http://<jenkins-ip>:8080

2. 添加节点

路径:

Manage Jenkins → Nodes → New Node
  • Node name:例如 debian-agent-01
  • 选择:Permanent Agent
  • 点击 Create

3. 节点基本配置

关键参数:

配置项 说明
Remote root directory 例如 /home/jenkins
Labels 例如 linux debian
Launch method Launch agents via SSH

4. 配置 SSH

  • Host:节点 IP
  • Credentials:
    • 类型:SSH Username with private key
    • Username:如 jenkins
    • Private Key:粘贴 Master 能连 Agent 的私钥
  • Host Key Verification Strategy:
    • 测试环境可选 Non verifying

保存。


三、在 Jenkins Agent(Debian)上操作

1. 创建 jenkins 用户(推荐)

sudo useradd -m -s /bin/bash jenkins
sudo passwd jenkins

2. 配置 SSH 免密登录

在 Master 上:

ssh-keygen
ssh-copy-id jenkins@<agent-ip>

测试:

ssh jenkins@<agent-ip>

3. 创建工作目录

sudo mkdir -p /home/jenkins
sudo chown jenkins:jenkins /home/jenkins

四、启动并验证节点

1. 在 Jenkins 页面

  • 进入节点
  • 点击 Launch agent
  • 状态变为 Online

2. 查看日志

Nodes → debian-agent-01 → Log

五、Pipeline 中使用节点

pipeline {
    agent {
        label 'linux debian'
    }
    stages {
        stage('Build') {
            steps {
                sh 'uname -a'
            }
        }
    }
}

六、常见问题

1. Agent 一直 offline

  • Java 未安装
  • SSH 无法连接
  • 目录权限不对

2. 提示 process apparently never started

  • Remote root directory 不存在
  • 用户无写权限

3. 推荐使用 JDK 17

Jenkins 2.4xx 已要求 Java 17+


七、其他方式(简要)

  • JNLP(Web Agent):适合容器
  • Docker Agent:agent { docker { ... } }
  • Kubernetes Agent:大规模 CI

如果你愿意,我可以:

  • 给你 systemd 托管 agent
  • 或写一份 完全自动化脚本
  • 或讲 Docker / K8s 节点方式

你现在是单机多节点,还是跨服务器?

0 踩