Jenkins构建历史
外观
Jenkins构建历史[编辑 | 编辑源代码]
介绍[编辑 | 编辑源代码]
Jenkins构建历史(Build History)是Jenkins持续集成系统中记录每次构建任务执行结果的日志集合。它提供了项目构建过程的完整追踪,包括构建状态(成功/失败)、持续时间、触发原因、变更记录及控制台输出等信息。该功能对调试问题、分析趋势和审计构建流程至关重要。
核心功能[编辑 | 编辑源代码]
Jenkins构建历史的主要功能包括:
- 状态可视化:通过颜色标识构建结果(蓝色-成功、红色-失败、黄色-不稳定等)。
- 时间线视图:展示构建执行的顺序和时间分布。
- 关联数据:链接到构建日志、测试报告、制品存档等。
- 历史保留策略:可配置保留的构建数量或存储周期。
访问构建历史[编辑 | 编辑源代码]
在Jenkins任务页面左侧导航栏点击Build History即可查看。每行记录包含以下信息:
- 构建编号(如#42)
- 构建状态图标
- 触发时间(如"3 minutes ago")
- 持续时间(如"1 min 23 sec")
示例:通过API获取构建历史[编辑 | 编辑源代码]
# 使用Jenkins API获取最近5次构建状态
curl -s "http://JENKINS_URL/job/MY_JOB/api/json?tree=builds[number,result,id,timestamp]|5"
输出示例:
{
"builds": [
{"number": 42, "result": "SUCCESS", "id": "42", "timestamp": 1712345678000},
{"number": 41, "result": "FAILURE", "id": "41", "timestamp": 1712340000000}
]
}
构建历史配置[编辑 | 编辑源代码]
管理员可通过以下路径配置保留策略: Manage Jenkins > Configure System > Build History 关键参数:
- Days to keep builds:设置构建记录的保留天数
- Max # of builds to keep:限制保留的构建数量
数学公式示例(计算存储占用):
实际应用案例[编辑 | 编辑源代码]
场景:分析间歇性构建失败[编辑 | 编辑源代码]
1. 在构建历史中筛选所有失败记录(#39、#36、#33) 2. 对比控制台日志发现共同错误模式:
ERROR: Connection refused (code 503) during dependency download
3. 结论:第三方仓库稳定性问题导致构建失败
场景:资源优化[编辑 | 编辑源代码]
通过构建历史的时间分布图发现:
- 80%的构建集中在工作日9:00-11:00
- 解决方案:配置定时构建(避开高峰期)
高级技巧[编辑 | 编辑源代码]
使用Groovy脚本清理历史[编辑 | 编辑源代码]
// 删除所有失败的构建
Jenkins.instance.getItemByFullName("MY_JOB").builds.findAll {
it.result == Result.FAILURE
}.each { it.delete() }
构建趋势分析[编辑 | 编辑源代码]
Jenkins内置Build Trend图表,可显示:
- 成功率变化曲线
- 平均构建时长趋势
- 测试覆盖率关联分析
最佳实践[编辑 | 编辑源代码]
- 定期归档重要构建的制品和日志
- 为关键项目设置较长的历史保留周期
- 结合插件(如Build History Metrics)增强分析能力
常见问题[编辑 | 编辑源代码]
Q:构建历史突然消失怎么办? A:检查磁盘空间和保留策略配置,可通过`$JENKINS_HOME/jobs/MY_JOB/builds`目录手动恢复
Q:如何导出构建历史数据? A:使用Jenkins API或插件(如ThinBackup)实现批量导出