跳转到主要内容

GitLab CI作业运行时间历史

项目描述

https://github.com/mgedmin/gitlab-jobs/workflows/build/badge.svg?branch=master https://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 --user gitlab-jobs 应该处理一切,只需确保 ~/.local/bin 在您的 $PATH 中。

或者您可能想使用脚本安装程序,例如 pipx (我最喜欢的)。

配置

创建一个 ~/.python-gitlab.cfg 如下

[global]
default = mygitlab

[mygitlab]
url = https://gitlab.example.com/
private_token = ...

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

用法

您需要一个GitLab项目ID。默认情况下,gitlab-jobs尝试从‘origin’git远程URL猜测它,如果您在git checkout中运行它。否则您必须指定它(可以是数字,如1234,或者“group/project”,它们之间用斜杠分隔)

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

项目详情


下载文件

下载您平台对应的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源代码分发

gitlab-jobs-1.2.0.tar.gz (44.1 kB 查看哈希值)

上传时间 源代码

构建分发

gitlab_jobs-1.2.0-py3-none-any.whl (18.1 kB 查看哈希值)

上传时间 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面