jenkins - 如何在 Jenkins 中制作自定义报告?
问题描述
在 Jenkins 中,我想获取诸如在给定时期内构建失败的次数、在连续构建中多次失败的测试、每次失败的测试是否由于相同或不同的原因而失败、多次失败的测试等信息环境或仅某些环境等。
如何从 Jenkins 获得此类信息?
解决方案
你的问题有点含糊。所以我会给你我用来解决这个问题的解决方案,使用jenkins的influxDB插件,InfluxDB作为数据库,Grafana作为仪表板工具。
- 设置 InfluxDB
我使用泊坞窗图像:influxdb:1.7-alpine
挂载的卷/docker-entrypoint-initdb.d
和/var/lib/influxdb
在文件夹中/docker-entrypoint-initdb.d
我添加了一个文件db.iql
来创建我的数据库
CREATE DATABASE "jenkins" WITH DURATION 24w REPLICATION 1 SHARD DURATION 1d NAME "jenkins_retention_6month"
- 设置 InfluxDB 插件
请参阅插件页面的部分配置 https://wiki.jenkins.io/display/JENKINS/InfluxDB+Plugin
- 使用插件
InfluxDbPublisher 步骤可用于使用 Metrics Plugin 等插件收集数据,但我将其与 customDataMap 一起使用
influxDbPublisher(
selectedTarget: 'myTarget',
customDataMap: [
myMeasure: [
field: value
]
],
customDataMapTags: [
myMeasure: [
tag: 'someTag'
]
]
])
一切都记录在 https://wiki.jenkins.io/display/JENKINS/InfluxDB+Plugin
- 设置 Grafana
我使用泊坞窗图像:grafana/grafana:6.4.3
我安装了音量/var/lib/grafana
当 grafana 实例运行时,添加你的 influxdb 数据库作为数据源
我使用以下环境变量配置了 grafana:
GF_SERVER_DOMAIN=grafana.mydomain.com
GF_SECURITY_ADMIN_PASSWORD=MyPassword
GF_SMTP_ENABLED=true
GF_SMTP_HOST=smtp:25
GF_SMTP_FROM_ADDRESS=grafana@grafana.mydomain.com
我使用 docker imagenamshi/smtp
来获取一个 smtp 服务器
- 创建 Grafana 仪表板
使用 grafana 的自动完成功能创建新仪表板非常容易。您肯定需要对使用 influxDbPublisher 步骤发送的数据进行几次调整。现在您有了仪表板,您可以设置警报,以便在您的 CI 发生异常情况时提前通过电子邮件收到通知
推荐阅读
- css - 查看购物车按钮文本颜色更改 Wordpress 店面
- angular - 逗号分隔的数据根据条件以角度显示
- python - 如何为 .write.mode("overwrite") 添加`try/except`
- xml - 使用 VB.NET 加载格式不正确的 XML 文件时出错
- android - 单击回收器视图将数据传递到相同的片段
- javascript - 即使在 React 中到达底部,页面也不会向下滚动?
- python - 有没有办法加快python中的循环
- javascript - Twitter typeahead - 向动态创建的输入框添加建议
- r - R中分层数据的增强
- python - 超声波传感器作为计数器