在 CentOS 上使用 Jenkins 排错,一般可以按「从外到内、从服务到任务」的顺序来定位问题。下面给你一套实用排错思路 + 常见故障速查表。
systemctl status jenkins
或(老版本)
service jenkins status
常见状态:
active (running) ✅ 正常failed ❌ 启动失败journalctl -u jenkins -xe
或
cat /var/log/jenkins/jenkins.log
重点看:
grep HTTP_PORT /etc/sysconfig/jenkins
默认:8080
netstat -tunlp | grep 8080
或
ss -tunlp | grep 8080
firewall-cmd --list-all
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
如果是云服务器,还要检查 安全组
java -version
Jenkins 要求:
vi /etc/sysconfig/jenkins
JENKINS_JAVA_CMD=/usr/java/jdk17/bin/java
Jenkins 页面 → 对应 Job → Console Output
重点看:
把 Jenkins 执行的命令复制出来,在服务器上手动跑:
sudo -u jenkins bash
再执行命令,验证环境差异。
id jenkins
ls -l /var/lib/jenkins
常见问题:
/var/lib/jenkins 属主不是 jenkins修复示例:
chown -R jenkins:jenkins /var/lib/jenkins
rm -rf /var/lib/jenkins/plugins/xxx*
回滚:
yum downgrade jenkins
cd /var/lib/jenkins/users
编辑 admin/config.xml
删除 <passwordHash> 内容,重启 Jenkins。
✅ 服务是否启动
✅ 端口是否通
✅ 防火墙/安全组
✅ Java 版本
✅ 日志 /var/log/jenkins/jenkins.log
✅ 构建命令手动能否执行
✅ 权限是否正确
如果你愿意,可以把 具体报错信息或现象(比如:启动失败 / 构建失败 / 页面打不开)贴出来,我可以帮你精准定位。