在 CentOS 上“调试 Jenkins”通常分为几个层面:服务起不来、构建失败、插件/权限问题、性能问题。下面按常见场景给你一套实用排查思路。
systemctl status jenkins
journalctl -u jenkins -f
若未使用 systemd(老版本):
service jenkins status
Jenkins 对 Java 版本敏感:
java -version
tail -n 200 /var/log/jenkins/jenkins.log
常见错误:
/var/lib/jenkins 权限不足vim /etc/sysconfig/jenkins
# JENKINS_PORT="8080"
systemctl restart jenkins
ls -ld /var/lib/jenkins
chown -R jenkins:jenkins /var/lib/jenkins
firewall-cmd --list-ports
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
getenforce
setenforce 0 # 临时关闭测试
set +x / echo 调试 Shell 步骤pipeline {
agent any
stages {
stage('debug') {
steps {
sh 'env'
sh 'pwd'
sh 'whoami'
}
}
}
}
jenkins user 是否能执行:
sudo -u jenkins sh -c 'docker ps'
systemctl stop jenkins
java -jar /usr/lib/jenkins/jenkins.war --safe
cat /var/lib/jenkins/secrets/initialAdminPassword
或删除:
rm /var/lib/jenkins/users/admin/config.xml
ps -ef | grep jenkins
jstack <pid>
vim /etc/sysconfig/jenkins
# JENKINS_JAVA_OPTIONS="-Xms512m -Xmx2048m"
JENKINS_JAVA_OPTIONS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
然后用 IDE 连接 5005 端口。
| 问题 | 原因 |
|---|---|
| 启动慢 | 插件多 / 网络差 |
| 构建卡住 | Agent 离线 |
| 权限拒绝 | SELinux / sudo |
| 页面空白 | Java 版本不匹配 |
如果你能告诉我:
我可以给你更精准的排查方案。