Jenkins Show 基于Jenkins api的dashboard 介绍
Jenkins Show 基于Jenkins api的dashboard 介绍
故事的开始
搞嵌入式 Linux 测试的同学都知道,Jenkins 虽然好用,但那个界面嘛……一言难尽。几十个 job 跑着,想看个状态得点来点去,想批量提交任务还得手动填参数,测试结果出来了还得手动去 Jira 更新进度——累不累?
于是就有了 Jenkins Show 这个项目。它不是要替代 Jenkins,而是给 Jenkins 加了一层好看又好用的"皮肤",顺便把提交任务、采集数据、展示结果这些事儿都串起来了。
它能干啥?
🚀 一行命令提交任务
不用再去 Jenkins 页面点点点了:
# 跑个 runtime 测试
./wrlinux-jenkins.py -r lts26 -j jobs/runtime/LIN1026 -b nxp-imx8@LTP@standard@glibc-std
# 来个 build
./wrlinux-jenkins.py -r lts26 -j jobs/build/LIN1026 -b nxp-imx8@LTP@standard@glibc-std
支持各种版本分支(LTS21 到 LTS26、master、next、circ……),加个 -t 参数还能 dry run 先看看不实际跑。
📊 Web 仪表盘一目了然
启动服务后打开浏览器,所有任务状态一目了然:
- 哪些在跑、跑了多久
- 哪些过了、哪些挂了
- 按版本、按板卡筛选
- 支持排序和搜索
比 Jenkins 原生界面友好一万倍。
🔄 后台自动采数据
jenkins-data.py 在后台默默干活,多线程采集 Jenkins 状态写到 SQLite 里。正在跑的任务会定时刷新——你打开网页看到的永远是最新状态。
🧰 一堆实用小工具
- 自动生成 U-Boot 环境变量(不用再手打了)
- 上传测试结果到 LTAF
- 自动同步 Jira user story 进度
- BSP layer 索引查询
- 测试主机状态监控
技术栈
没有花里胡哨的东西,够用就行:
- 后端:Python + Flask(轻量够用)
- 数据库:SQLite(零配置,一个文件搞定)
- 前端:Bootstrap + jQuery + DataTables(经典三件套)
- Jenkins 交互:python-jenkins 库
- 部署:shell 脚本 + crontab(朴实无华)
整个项目不依赖 Redis、MySQL、Docker 之类的重型基础设施。git clone 下来装个虚拟环境就能跑,对内部工具来说这点很重要。
三步跑起来
# 克隆 + 装环境
git clone git@github.com:aijingyi/jenkins-show.git
cd jenkins-show
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# 开始采数据
./scripts/run-jenkins-data start
# 启动网页
./scripts/run-jenkins-show start
# 打开 http://<你的机器>:8090/ 就能看了
为什么值得参考?
- 解决真实痛点:不是为了炫技,是因为每天都要用
- 够简单:SQLite + Flask + Shell 脚本,谁都能维护
- YAML 配置驱动:加新版本新板卡?改个 YAML 就行
- 自动化串联:提交→采集→展示→同步 Jira,一条龙
如果你的团队也被 Jenkins 的 N 个 job 搞得头大,又不想上 Grafana 那套重方案,这个项目的思路很值得借鉴——有时候一个简单的 Flask 应用就够了。

浙公网安备 33010602011771号