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/ 就能看了

为什么值得参考?

  1. 解决真实痛点:不是为了炫技,是因为每天都要用
  2. 够简单:SQLite + Flask + Shell 脚本,谁都能维护
  3. YAML 配置驱动:加新版本新板卡?改个 YAML 就行
  4. 自动化串联:提交→采集→展示→同步 Jira,一条龙

如果你的团队也被 Jenkins 的 N 个 job 搞得头大,又不想上 Grafana 那套重方案,这个项目的思路很值得借鉴——有时候一个简单的 Flask 应用就够了。


项目地址https://github.com/aijingyi/jenkins-show

posted @ 2026-06-23 17:16  爱净意  阅读(4)  评论(0)    收藏  举报