为单个组件添加状态检查结果的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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 591f9b59764bffbc7b28b037d87880e6e686f822ae2dd563f9d50bd94bb2f6e9 |
|
MD5 | 92e64d908ab5f84af1f720d3ebc0838e |
|
BLAKE2b-256 | 6e577b8cfe083ee1d91ea808722b6415d91cda25bf2d717669031658a8f79aed |