温馨提示×

ubuntu部署jenkins注意啥

小樊
40
2026-09-16 10:29:02
栏目: 智能运维

在 Ubuntu 上部署 Jenkins,有几个容易踩坑的点和最佳实践,下面按“安装前 → 安装中 → 安装后 → 生产建议”给你梳理一下。


一、安装前注意事项

1️⃣ Java 版本要匹配

Jenkins 对 Java 版本非常敏感

  • Jenkins 2.4xx 推荐:Java 17
  • 老版本可能支持 Java 11
  • ❌ 不建议用 Java 8(新 Jenkins 已不支持)

检查 Java:

java -version

安装 Java 17(示例):

sudo apt install openjdk-17-jdk

2️⃣ 用户权限问题

Jenkins 默认使用 jenkins 用户运行:

  • 不要用 root 跑 Jenkins(安全风险)
  • 如果要用 Docker、Kubectl,要把 jenkins 用户加入对应组
sudo usermod -aG docker jenkins
sudo usermod -aG sudo jenkins

3️⃣ 端口冲突

Jenkins 默认端口是 8080

避免和以下服务冲突:

  • Nginx
  • Tomcat
  • 其他 CI 工具

修改端口(可选):

sudo vim /etc/default/jenkins
JENKINS_PORT=8090

二、安装方式推荐

✅ 官方推荐(最稳)

sudo apt update
sudo apt install -y fontconfig openjdk-17-jdk
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
  https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

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

启动:

sudo systemctl enable jenkins
sudo systemctl start jenkins

三、安装后关键配置

1️⃣ 初始管理员密码

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

⚠️ 第一次登录一定要保存好


2️⃣ 插件安装别贪多

  • 推荐:Install suggested plugins
  • 后期按需装(Pipeline、Git、Docker)

3️⃣ 磁盘空间(非常重要)

Jenkins 非常吃磁盘:

  • 构建历史
  • 工作空间
  • 镜像/缓存

建议:

df -h /var/lib/jenkins

定期清理:

  • 构建记录
  • Workspace
  • 旧的 Docker 镜像

四、生产环境建议(很重要)

✅ 用 Nginx 反向代理

避免直接暴露 8080

示例 Nginx:

server {
    listen 80;
    server_name jenkins.example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

并配置 HTTPS(Let’s Encrypt)


✅ 定期备份

重点备份:

/var/lib/jenkins

工具:

  • jenkins-cli
  • ThinBackup 插件

✅ 安全配置

  • 开启 安全矩阵 / 角色权限
  • 禁用匿名访问
  • 使用 GitHub / LDAP 登录

五、常见问题

Jenkins 启动失败?

看日志:

sudo journalctl -u jenkins -n 100

常见原因:

  • Java 版本不对
  • 端口被占用
  • 权限不足

构建卡死?

  • 磁盘满了
  • executor 被占满
  • agent 没起来

六、总结一句话

Ubuntu 上部署 Jenkins,Java 版本 + 权限 + 磁盘 + 反向代理 是最关键的四点。

如果你愿意,我可以:

  • 给你一套 Docker 版 Jenkins
  • 或帮你写 systemd + Nginx 完整配置
  • 或针对 CI/CD 场景给建议

你现在是 学习 / 公司生产 / 云服务器 哪种环境?

0 踩