温馨提示×

jenkins如何连接ubuntu机器

小樊
35
2026-10-24 21:06:19
栏目: 智能运维

在 Jenkins 中连接 Ubuntu 机器,通常有 两种常见场景:

  1. Jenkins 安装在 Ubuntu 上(本地)
  2. Jenkins 连接远程 Ubuntu 机器(作为构建节点 / Agent)

下面重点讲 Jenkins 连接远程 Ubuntu 机器 的常用方法。


一、前置准备(Ubuntu 机器)

在 Ubuntu 机器上执行:

1. 安装 Java(必须)

sudo apt update
sudo apt install openjdk-11-jdk -y
java -version

2. 创建 Jenkins 用户(推荐)

sudo adduser jenkins
sudo usermod -aG sudo jenkins

3. 配置 SSH

sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh

二、方式一:SSH 连接 Ubuntu(最常用 ✅)

Jenkins 端配置

  1. 打开 Jenkins
    Manage Jenkins → Nodes → New Node
  2. 填写:
    • Node name:ubuntu-agent
    • Type:Permanent Agent
  3. 配置节点:
    • Remote root directory:/home/jenkins
    • Launch method:Launch agents via SSH
  4. Host 配置:
    • Host:Ubuntu IP(如 192.168.1.100)
    • Credentials:
      • 类型:Username with password / SSH Username with private key
  5. 保存并启动节点

✅ 适合:Ubuntu 长期运行、稳定环境


三、方式二:Jenkins Agent 命令连接(Java Web Start)

Ubuntu 上执行

wget http://jenkins-ip:8080/jnlpJars/agent.jar
java -jar agent.jar \
  -jnlpUrl http://jenkins-ip:8080/computer/ubuntu-agent/slave-agent.jnlp \
  -secret xxxxxxxx

可写成 systemd 服务后台运行。


四、方式三:Docker 方式(进阶)

Ubuntu 上运行 Jenkins Agent:

docker run -d \
  -e JENKINS_URL=http://jenkins-ip:8080 \
  -e JENKINS_SECRET=xxxx \
  -e JENKINS_AGENT_NAME=ubuntu-agent \
  jenkins/agent

五、常见问题

1. 连接失败

  • 防火墙:sudo ufw allow 22
  • SSH 未启动
  • Java 版本不匹配

2. 权限问题

  • 使用 sudo 的构建任务需配置 NOPASSWD

3. 节点离线

  • agent.jar 版本不一致
  • Jenkins URL 不可达

六、总结

方式 适用场景
SSH ✅ 最稳定、最常用
JNLP 无 SSH 环境
Docker 容器化 CI

如果你愿意,可以告诉我:

  • Jenkins 部署方式(Docker / 裸机)
  • Ubuntu 是本地还是云服务器
  • 是否用 Docker

我可以给你 一步一步的具体命令配置。

0 踩