温馨提示×

Ubuntu Jenkins部署需要注意哪些细节

小樊
37
2026-06-30 15:36:32
栏目: 智能运维

Ubuntu 上部署 Jenkins 时,虽然官方文档看起来简单,但生产环境中容易踩坑。下面我从 系统准备 → 安装方式 → 安全 → 权限 → 插件与并发 → 备份与维护 几个层面,总结关键细节。


一、系统与环境准备

1️⃣ Ubuntu 版本选择

  • 推荐 LTS 版本
    • Ubuntu 22.04 / 20.04
  • 不建议使用最新非 LTS 版本(稳定期短)

2️⃣ Java 版本(非常重要)

Jenkins 对 Java 版本强依赖

Jenkins 版本 Java 要求
2.361+ Java 11 或 17
老版本 Java 8(已不推荐)

✅ 推荐:

sudo apt install openjdk-17-jdk

检查:

java -version

⚠️ 不要混装多个 Java 版本,避免 Jenkins 启动失败


二、安装方式选择(重点)

✅ 推荐方式:官方 APT 仓库(最稳定)

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

sudo apt update
sudo apt install jenkins

✅ 优点:

  • 自动创建 jenkins 用户
  • systemd 管理
  • 升级方便

三、端口与防火墙

默认端口

  • Jenkins 默认:8080

查看端口

sudo netstat -tlnp | grep 8080

防火墙(UFW)

sudo ufw allow 8080
sudo ufw reload

⚠️ 生产环境不建议直接暴露 8080

  • 应使用 Nginx 反向代理 + HTTPS

四、首次启动与解锁

sudo systemctl start jenkins
sudo systemctl enable jenkins

查看初始密码:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

⚠️ 安装完成后 立即修改管理员密码


五、权限与用户管理(非常容易踩坑)

1️⃣ Jenkins 运行用户

  • 默认:jenkins
  • 家目录:/var/lib/jenkins

❌ 常见问题:

  • Jenkins 执行 shell 没权限
  • 无法访问 Docker / 磁盘目录

2️⃣ 给 Jenkins 权限的常见方式

✅ Docker 权限

sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

✅ 文件访问权限

sudo chmod 755 /your/project/path

⚠️ 不建议直接改成 root 运行 Jenkins


六、安全配置(生产必做)

1️⃣ 启用安全

Manage Jenkins → Security

  • ✅ 启用「Enable security」
  • ✅ 使用「Logged-in users can do anything」或「Matrix Authorization」

2️⃣ 禁用匿名用户管理权限

❌ 默认匿名用户可能有构建权限(风险)


七、插件安装注意事项

✅ 必装插件

  • Git
  • Pipeline
  • Blue Ocean(可选)
  • Docker Pipeline
  • Credentials Binding

⚠️ 插件注意事项

  • 不要一次性安装太多插件
  • 插件版本与 Jenkins 版本不兼容会直接导致 无法启动
  • 升级前先备份

八、磁盘与目录规划

Jenkins 主目录

/var/lib/jenkins

⚠️ 容易爆盘:

  • 构建历史
  • 工作空间
  • 流水线产物

✅ 建议:

  • 单独挂载磁盘
  • 定期清理旧构建
Manage Jenkins → System → Build Discarders

九、备份与恢复(非常重要)

备份目录

/var/lib/jenkins

✅ 推荐工具:

  • jenkins-backup
  • 或 rsync 定时备份
rsync -avz /var/lib/jenkins /backup/jenkins-$(date +%F)

十、常见坑总结(经验)

问题 原因
Jenkins 启动失败 Java 版本错误
Docker 命令不可用 jenkins 用户没加入 docker 组
磁盘满 构建历史未清理
升级后打不开 插件不兼容
权限拒绝 文件属主不是 jenkins

十一、生产建议架构

用户
 ↓
Nginx (HTTPS)
 ↓
Jenkins (8080)
 ↓
Docker / Git / 构建环境

如果你愿意,我可以:

  • ✅ 给你一份 Ubuntu + Docker + Jenkins 最佳实践
  • ✅ 帮你设计 Jenkins Pipeline 示例
  • ✅ 帮你排查 Jenkins 启动失败日志

只要告诉我你的使用场景(CI / CD / 前端 / 后端 / K8s)。

0