GitLab CI作业运行时间的历史记录

gitlab-jobs的Python项目详细描述


https://travis-ci.org/mgedmin/gitlab-jobs.svg?branch=masterhttps://coveralls.io/repos/mgedmin/gitlab-jobs/badge.svg?branch=master

GitLab CI很好,但是我错过了Jenkins的构建时间趋势图。 下面是一个脚本,它至少可以计算一些摘要信息:

$ gitlab-jobs --csv jobs.csv
Last 20 successful pipelines of myproject master:
  ...

Summary:
  build_client      min  4.2m, max  7.6m, avg  5.8m, median  5.7m, stdev  1.0m
  build_docker      min  2.7m, max 11.6m, avg  3.5m, median  3.0m, stdev  1.9m
  build_server      min  6.6m, max 12.2m, avg  8.9m, median  8.1m, stdev  1.9m
  test_robot        min 25.4m, max 38.3m, avg 30.0m, median 29.1m, stdev  3.6m
  unittests_client  min  1.1m, max  7.9m, avg  4.1m, median  4.6m, stdev  2.5m
  unittests_server  min  3.5m, max  6.3m, avg  4.9m, median  5.1m, stdev  0.9m
  overall           min 37.4m, max 55.8m, avg 45.6m, median 45.6m, stdev  3.8m

Writing jobs.csv...

然后,您可以将CSV文件导入电子表格并生成漂亮的图表 像

https://github.com/mgedmin/gitlab-jobs/raw/master/chart.png

(注:这张图表的X轴是翻转的,Y轴是缩放的,因为 对我来说更有意义。CSV数据包含以秒为单位的持续时间, 最新的第一个。)

安装

pip3 install --usergitlab-jobs应该处理好一切,只要 当然~/.local/bin在您的$路径上。在

或者您可以使用脚本安装程序,如pipx(我的最爱)。在

配置

创建一个~/.python-gitlab.cfg,如下所示:

^{pr2}$

您可以在GitLab配置文件设置中创建私有访问令牌。会的 需要“read_api”访问范围。在

使用

你需要一个GitLab项目ID。默认情况下GitLab jobs会尝试猜测它 从“origin”git远程URL,如果您在git签出内部运行它。 否则,您必须指定它(可以是1234之类的数字,也可以是 “组/项目”,中间有斜线)

gitlab-jobs --project GROUP/PROJECT ...

帮助可通过

$ gitlab-jobs --help
usage: gitlab_jobs.py [-h] [--version] [-v] [-g GITLAB] [-p ID] [-b REF] [--all-branches]
                      [--all-pipelines] [-l N] [--csv FILENAME] [--debug]

Show GitLab pipeline job durations.

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         print more information
  -g GITLAB, --gitlab GITLAB
                        select configuration section in ~/.python-gitlab.cfg
  -p ID, --project ID   select GitLab project ("group/project" or the numeric ID)
  -b REF, --branch REF, --ref REF
                        select git branch
  --all-branches        do not filter by git branch
  --all-pipelines       include pipelines that were not successful
  -l N, --limit N       limit analysis to last N pipelines
  --csv FILENAME        export raw data to CSV file
  --debug               print even more information, for debugging

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我应该卸载Eclipse,还是只在上面安装一个新版本?   Java For Loop i++在For Loop中做什么?   java防止击键从JTable级联到顶层   java在为GUI和游戏划分类时遇到问题:GUI未连接到游戏   客户端调用时java RMI服务器ClassNotFoundException   java如何在libgdx/box2d中为特定实体强制执行最大速度?   java在Selenium Webdriver中调用href值   java IndexOutOfBounds异常向ArrayList添加项   java修剪JsonNode中的所有字符串值   带填充列表的thymeleaf中的java空索引异常   JPanel中的java插入按钮   java应该在实现中添加Javadoc注释吗?   java JNI不满意的链接错误,尽管一切似乎都很好   java使用Youtube Api V3搜索Youtube视频