下面从常见场景出发,系统说明在 CentOS 上调试 Jenkins 的方法,从“看日志 → 定位问题 → 常见故障 → 高级调试”逐步讲。
# 查看服务状态
systemctl status jenkins
# 实时查看日志
journalctl -u jenkins -f
tail -f /var/log/jenkins/jenkins.log
常见错误关键词:
Permission denied → 权限问题Java not found → JDK 问题port already in use → 端口冲突Failed to connect to repository → Git / 网络问题systemctl status jenkins
如果失败:
systemctl restart jenkins
journalctl -u jenkins -xe
检查端口:
ss -lntp | grep 8080
访问测试:
curl http://localhost:8080
java -version
which java
cat /etc/sysconfig/jenkins | grep JENKINS_JAVA_CMD
如果 Java 路径不对:
vi /etc/sysconfig/jenkins
修改:
JENKINS_JAVA_CMD="/usr/java/jdk/bin/java"
ps -ef | grep jenkins
默认用户是 jenkins
ls -ld /var/lib/jenkins
ls -ld /var/log/jenkins
修复示例:
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/log/jenkins
在 Jenkins 中:
sudo 要配置免密jenkins 用户测试命令systemctl stop jenkins
java -jar /usr/lib/jenkins/jenkins.war --safe
cd /var/lib/jenkins/plugins
mv 插件名 插件名.bak
systemctl start jenkins
node {
sh 'set -x'
}
sh 'env'
sudo -u jenkins bash
cd /var/lib/jenkins/workspace/你的任务
firewall-cmd --list-ports
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
临时关闭测试:
setenforce 0
如果好了,说明是 SELinux:
ausearch -m avc -ts recent
Manage Jenkins → System Log → Add Logger
hudsonALLJAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
✅ Jenkins 服务状态
✅ Java 版本
✅ 端口占用
✅ 日志文件
✅ 文件权限
✅ 防火墙 / SELinux
✅ 插件冲突
如果你愿意,可以告诉我:
我可以直接帮你精准定位问题。