CentOS上Jenkins故障排查指南
日志是排查Jenkins故障的核心依据,需优先检查以下日志文件:
/var/log/jenkins/jenkins.log(若未找到,可通过journalctl -u jenkins查看systemd日志);$JENKINS_HOME/logs/目录(如/var/lib/jenkins/logs/),文件名通常包含插件名称(如plugin-name.log)。tail -f /var/log/jenkins/jenkins.log实时跟踪日志,或grep "错误关键字" /var/log/jenkins/jenkins.log过滤特定错误;也可通过Jenkins Web界面的“Manage Jenkins”→“System Log”查看系统级日志。Jenkins默认使用8080端口,若该端口被其他服务(如Apache、Nginx)占用,会导致无法启动或访问。
排查步骤:
netstat -tulnp | grep 8080(或ss -tulnp | grep 8080)查看端口占用进程;/etc/sysconfig/jenkins(或/usr/lib/systemd/system/jenkins.service),找到JENKINS_PORT参数,修改为未使用的端口(如8081);systemctl daemon-reload && systemctl restart jenkins。Jenkins对Java版本有严格要求(如Jenkins 2.300+需要Java 11及以上),版本不兼容会导致启动失败。
排查步骤:
java -version查看当前Java版本;yum install java-11-openjdk-devel),并通过alternatives --config java切换默认Java版本;$JAVA_HOME环境变量指向正确路径(如/usr/lib/jvm/java-11-openjdk)。插件是Jenkins功能扩展的核心,但不兼容或安装失败会导致功能异常(如构建失败、界面卡顿)。
排查步骤:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json),然后重启Jenkins;Jenkins配置文件损坏(如config.xml)会导致启动失败或功能异常。
排查步骤:
/var/lib/jenkins/config.xml(主配置)、$JENKINS_HOME/jobs/(Job配置);cp /var/lib/jenkins/config.xml /tmp/config.xml.bak),然后从备份恢复或删除原文件(Jenkins重启后会生成默认配置);systemctl stop jenkins),修改后重启生效。Jenkins进程需对工作目录(/var/lib/jenkins)、日志目录(/var/log/jenkins)等有读写权限,权限不足会导致无法启动或写入失败。
排查步骤:
ls -ld /var/lib/jenkins /var/log/jenkins查看目录权限;jenkins)所有:chown -R jenkins:jenkins /var/lib/jenkins /var/log/jenkins /var/cache/jenkins;jenkins用户(usermod -aG jenkins <当前用户>),避免安全风险。磁盘空间耗尽会导致Jenkins无法写入日志、构建产物或启动失败。
排查步骤:
df -h查看磁盘使用情况,重点关注/var分区(Jenkins默认存储路径);/var/log/jenkins/)、无用构建产物($JENKINS_HOME/workspace/)或备份文件;/etc/logrotate.d/jenkins),自动压缩和删除旧日志,避免空间耗尽。Jenkins需要访问互联网下载插件、更新或拉取代码,网络或防火墙问题会导致这些操作失败。
排查步骤:
ping google.com或curl -v https://updates.jenkins.io,确认能访问外部网络;firewall-cmd --permanent --add-port=8080/tcp(替换为实际端口)→firewall-cmd --reload;若忘记Jenkins管理员密码,可通过以下步骤重置:
/var/lib/jenkins/secrets/initialAdminPassword文件,执行cat /var/lib/jenkins/secrets/initialAdminPassword查看初始密码;若以上方法均无法解决故障,可尝试重新安装Jenkins:
yum remove jenkins;rm -rf /var/lib/jenkins /var/log/jenkins /etc/sysconfig/jenkins;yum install jenkins,并按照官方文档配置。