一个计算机技术爱好者与学习者

0%

需求描述

计划对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

阅读全文 »

前言

CentOS8已于2021年12月31日停止维护,在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS8的所有包。

如果仍然需要运行CentOS8,我们可以在/etc/yum.repos.d中更新安装源。

阅读全文 »

怎样保证代码质量?

保证代码质量有三种常用的方法:Code Review、编码规范和单元测试。

Code Review需要别人帮助Review,现在可以找ChatGPT帮助Review。
而对于编码规范检查和运行单元测试,是可以通过CI流水线自动完成的。
本文中,我们学习在GitLab CI流水线中配置编码规范检查和运行单元测试。

阅读全文 »

Job is stuck

Shell Runner跑CI任务,报错:

1
Job is stuck. Check runners. allowed to fail

解决办法:
经查是因为gitlab-runner版本比较高(15.5.0),新版本的runner,要求.gitlab-ci.yml必须要配置tags,指定runner。

阅读全文 »