跳转到主要内容

为单个组件添加状态检查结果的CI工具

项目描述

CISTATUS

演示

关于

cistatus是一个可以将拉取请求检查状态显式设置到github拉取请求中的工具。例如,如果你在一个单独的工作中有多项检查,但希望将这些步骤作为单独的检查暴露在github中,你可以使用这个工具来暴露这些额外的步骤。

cistatus可以从大多数CI系统暴露的环境变量中挖掘相关信息。目前支持

  • Azure Devops
  • Travis
  • CircleCI
  • AppVeyor
  • Shippable
  • CodeBuild

这意味着,如果cistatus在这些系统的构建节点中执行,则会从环境变量中读取存储库、pr和sha信息。

为什么

编写此用例的原因是出于从Azure DevOps管道构建中将多个测试报告暴露到github拉取请求中的挫败感。有了cistatus,现在可以在拉取请求中暴露总体状态检查 - 如果需要的话 - 然后添加附加的检查,每个检查都可以链接到特定的结果集,而无需深入挖掘构建工件或构建日志。

安装

pip install cistatus

集成

cistatus具有自动检测正在运行的CI系统的功能。这是通过检查该CI系统的“唯一”环境变量来实现的,并且不需要用户进行任何配置。

当检测到CI系统时,会从相应的CI环境变量中读取commit sha、仓库名称和pr值。例如,如果您想从本地shell运行cistatus,那么您才需要传递所有必填的命令行参数。

使用这种方法,当在任意CI奴隶中运行脚本时,您只需要传递状态标志来设置检查的状态。

用法

[-h] [--repo REPO] [--sha SHA] [--pr PR] [--token TOKEN]
--status {pending,success,error,failure} [--url URL]
[--description DESCRIPTION] [--context CONTEXT]

Set Build Status

optional arguments:
  -h, --help            show this help message and exit
  --repo REPO           user/repo
  --sha SHA
  --pr PR
  --token TOKEN         Github API Token
  --status {pending,success,error,failure}
  --url URL             Job url
  --description DESCRIPTION
                        Job Description
  --context CONTEXT     Job context

--repo

此标志设置应设置pr状态的github仓库。如果cistatus检测到其正在任何受支持的环境中运行,则此参数是必需的,值将从适当的环境文件中读取,但仍然可以从命令行中覆盖。

--sha

此标志设置pr请求的commit sha。如果cistatus检测到其正在任何受支持的环境中运行,则此参数是必需的,值将从适当的环境文件中读取,但仍然可以从命令行中覆盖。

--pr

此标志设置设置状态的位置的pull请求编号。如果cistatus检测到其正在任何受支持的环境中运行,则此参数是必需的,值将从适当的环境文件中读取,但仍然可以从命令行中覆盖。

--token

此标志设置个人认证令牌。值也可以设置为GITHUB_ACCESS_TOKEN环境变量,如果不希望令牌泄露到可能公开的构建日志中,则建议这样做。

--context

此标志设置检查上下文中显示的字符串。默认为default

--description

此标志设置上下文的详细描述。默认为CI Status

--url

此标志设置检查上下文/描述中“详情”链接的url。

项目详情


下载文件

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

源分发

cistatus-0.0.1.tar.gz (9.9 kB 查看哈希)

上传时间

由以下支持

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