需求描述
计划对CICD进行优化,主要包括降低pipeline的失败率和降低构建发布时间。
最开始,要对pipeline进行统计,搞清楚当前的情况,做到心里有“数”,制定合理的目标。
优化一段时间后,需要再用相同的统计方法对pipeline进行统计,看看优化的效果。
好了,问题来了:怎样统计最近两个月的gitlab pipeline?
具体需求包括:
- 总的pipeline次数
- 成功的pipeline次数
- 失败的pipeline次数
- 取消的pipeline次数
- 跳过的pipeline次数
- 耗时超过5分钟的pipeline次数
- 耗时超过10分钟的pipeline次数
- 耗时超过半小时的pipeline次数
- 耗时超过1小时的pipeline次数
- pipeline的失败率
使用GitLab的Analytics可以看到部分我们想要的数据,比如某个月的pipeline总次数,失败的总次数等。但是并不能根据我们的需要选择时间段进行统计,也不能统计pipeline的持续时间,因此最好的方法是通过GitLab API进行统计。
参考文档:Pipelines API