在 Ubuntu 上部署 Jenkins,“坑”大多不在安装本身,而在环境依赖、权限和后续集成。下面按出现频率和实际踩坑经验给你梳理一下:
Jenkins 对 Java 版本很挑剔
✅ 建议:
java -version
确认版本,再对照 Jenkins 官方支持的 Java 版本表安装对应 JDK。
常用:
sudo apt install openjdk-17-jdk
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
常见冲突:
✅ 修改端口:
sudo vim /etc/default/jenkins
改:
JENKINS_PORT=8081
Jenkins 默认用 jenkins 用户运行
常见报错:
✅ 解决:
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
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。
常见原因:
/var/lib/jenkins 权限错✅ 查看日志:
journalctl -u jenkins -f
如果用 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
⚠️ 不要直接 apt upgrade
✅ 建议:
/var/lib/jenkins如果你经常踩坑,直接用官方镜像:
docker run -d \
-p 8080:8080 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
Ubuntu 装 Jenkins 不难,难的是 Java、权限、插件源和端口。
如果你愿意,可以告诉我:
我可以直接给你一套不踩坑部署方案。