Jenkins的Web界面提供了直观的日志访问方式,涵盖系统级和构建级日志:
Jenkins在Debian系统中的系统日志默认存储在/var/log/jenkins/jenkins.log(若通过systemd管理,也可能位于/var/log/journal/jenkins.log)。常用命令如下:
sudo cat /var/log/jenkins/jenkins.log(需root权限,直接输出全部内容)。sudo tail -f /var/log/jenkins/jenkins.log(实时显示日志新增内容,适合监控实时运行状态)。sudo grep "ERROR" /var/log/jenkins/jenkins.log(筛选包含指定关键字(如“ERROR”“WARN”)的日志行,快速定位问题)。sudo less /var/log/jenkins/jenkins.log(支持上下翻页、搜索(按/键输入关键字),适合查看大型日志文件)。构建日志是排查构建失败问题的核心依据,除Web界面外,也可通过命令行获取:
Jenkins插件的运行日志默认存储在$JENKINS_HOME/logs/目录下($JENKINS_HOME通常为/var/lib/jenkins),文件名通常包含插件名称(如plugin-name.log)。可通过以下命令查看插件日志:
sudo less /var/lib/jenkins/logs/plugin-name.log(替换plugin-name为实际插件名)。
为避免日志文件无限增长占用磁盘空间,建议使用logrotate工具管理Jenkins日志:
/etc/logrotate.d/目录下创建Jenkins日志轮转配置文件(如jenkins),内容如下:/var/log/jenkins/*.log {
daily # 每天轮转一次
rotate 7 # 保留最近7天的日志
compress # 压缩旧日志(如gzip)
missingok # 若日志文件不存在也不报错
notifempty # 若日志为空则不轮转
create 0644 root adm # 创建新日志文件并设置权限
sharedscripts # 所有日志轮转完成后执行postrotate脚本
postrotate
if [ -f /var/run/jenkins/jenkins.pid ]; then
kill -HUP $(cat /var/run/jenkins/jenkins.pid) # 通知Jenkins重新打开日志文件
fi
endscript
}
保存后,logrotate会自动按配置管理Jenkins日志。