温馨提示×

jenkins怎么配置ubuntu节点

小樊
47
2026-10-24 21:05:20
栏目: 智能运维

下面按最常见、最稳妥的方式,给你讲 Jenkins 如何配置 Ubuntu 节点(Agent/Slave)。我们以 SSH 方式 为例(生产环境最常用)。


一、前提条件

1. Jenkins 服务端

  • 已安装 Jenkins(Master)
  • 能访问 Ubuntu 节点的 IP

2. Ubuntu 节点

  • 已安装 OpenSSH Server
sudo apt update
sudo apt install openssh-server -y
sudo systemctl enable --now ssh
  • 已安装 Java(JDK)
sudo apt install openjdk-17-jdk -y
java -version

Jenkins Agent 需要 Java 环境


二、在 Ubuntu 上创建 Jenkins 用户(推荐)

sudo adduser jenkins

设置密码并记住。

给 sudo 权限(可选):

sudo usermod -aG sudo jenkins

三、Jenkins Master 安装 SSH 插件

  1. 登录 Jenkins
  2. Manage Jenkins → Plugins
  3. 搜索并安装:
    • SSH Build Agents
  4. 安装后重启 Jenkins

四、添加 Ubuntu 节点

1. 进入节点管理

Manage Jenkins
 → Nodes
 → New Node

2. 配置节点

  • Node name: ubuntu-agent
  • 选择:Permanent Agent
  • 点击 OK

3. 节点参数配置

配置项 示例
Remote root directory /home/jenkins
Labels ubuntu
Launch method Launch agents via SSH
Host Ubuntu IP(如 192.168.1.100)
Credentials 添加 SSH 用户名密码或密钥
Host Key Verification Non verifying

添加 Credentials

  • Kind: Username with password
    • 或 SSH Username with private key
  • Username: jenkins
  • Password: Ubuntu 用户密码

五、验证节点是否在线

  • 返回 Nodes 页面
  • 看到 ubuntu-agent 状态为 Connected
  • 日志中无报错

六、测试使用 Ubuntu 节点

示例 Pipeline

pipeline {
    agent {
        label 'ubuntu'
    }
    stages {
        stage('Test') {
            steps {
                sh 'uname -a'
                sh 'java -version'
            }
        }
    }
}

七、常见问题

1. 节点连不上

  • 防火墙
sudo ufw allow 22
  • SSH 是否启动
systemctl status ssh

2. Java 找不到

  • 确保 java 在 PATH
  • 可手动指定:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

3. 权限问题

  • 确保 Jenkins 用户能写 Remote root directory

八、其他连接方式(可选)

  • JNLP(Web Start)
  • Docker Agent
  • Kubernetes Agent

如果你告诉我:

  • Jenkins 版本
  • Ubuntu 版本
  • 是否用 Docker / 云服务器

我可以给你更精确的配置示例。

0 踩