温馨提示×

Ubuntu部署Jenkins坑在哪

小樊
36
2026-10-10 04:29:58
栏目: 智能运维

在 Ubuntu 上部署 Jenkins,“坑”大多不在安装本身,而在环境依赖、权限和后续集成。下面按出现频率和实际踩坑经验给你梳理一下:


一、Java 版本坑(最常见)

Jenkins 对 Java 版本很挑剔

  • Ubuntu 22.04+ 默认可能是 Java 17 / Java 21
  • 老版本 Jenkins 不支持 Java 21
  • 新版本 Jenkins 又不支持 Java 8

✅ 建议:

java -version

确认版本,再对照 Jenkins 官方支持的 Java 版本表安装对应 JDK。

常用:

sudo apt install openjdk-17-jdk

二、APT 源坑(默认源版本旧)

Ubuntu 自带源里的 Jenkins 非常旧,容易踩雷

✅ 正确姿势:

curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.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 binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

sudo apt update
sudo apt install jenkins

三、端口冲突坑

Jenkins 默认端口:8080

常见冲突:

  • 已装了 Nginx
  • 已装了 Tomcat
  • Docker 容器占用

✅ 修改端口:

sudo vim /etc/default/jenkins

改:

JENKINS_PORT=8081

四、权限坑(非常隐蔽)

1️⃣ Jenkins 用户没权限

Jenkins 默认用 jenkins 用户运行

常见报错:

  • 无法 git clone
  • 无法 docker
  • 无法写目录

✅ 解决:

sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

2️⃣ SSH Key 权限

Jenkins 用的不是你当前用户!

✅ 正确做法:

sudo su jenkins
ssh-keygen

五、首次解锁页面卡住

访问:

http://<IP>:8080

需要密码:

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

⚠️ 如果打不开:

  • 防火墙没开
  • 云服务器安全组没放行

六、插件安装慢 / 失败(国内环境)

官方插件源在国内很慢

✅ 修改插件源:

sudo vim /var/lib/jenkins/hudson.model.UpdateCenter.xml

改为:

<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>

重启 Jenkins。


七、systemd 启动失败

常见原因:

  • Java 路径不对
  • 磁盘空间不足
  • /var/lib/jenkins 权限错

✅ 查看日志:

journalctl -u jenkins -f

八、反向代理(Nginx)坑

如果用 Nginx + Jenkins:

必须配置:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

否则会一直提示:

It appears that your reverse proxy setup is broken


九、升级 Jenkins 直接炸

⚠️ 不要直接 apt upgrade

✅ 建议:

  • 先备份 /var/lib/jenkins
  • 看 Java 是否兼容
  • 再升级

十、Docker 里跑 Jenkins 更稳(推荐)

如果你经常踩坑,直接用官方镜像:

docker run -d \
  -p 8080:8080 \
  -v jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

总结一句话

Ubuntu 装 Jenkins 不难,难的是 Java、权限、插件源和端口。

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

  • Ubuntu 版本
  • 是否用 Docker
  • 是否接 Git / Maven / Docker

我可以直接给你一套不踩坑部署方案。

0 踩