跳转到主要内容

构建taskcluster任务图

项目描述

Task Status pre-commit.ci status Code Coverage Pypi Version Documentation Status License

Taskgraph

Taskgraph是一个用于生成Taskcluster CI服务任务图的Python库。一旦您的项目超过单个.taskcluster.yml文件,它就是推荐的配置任务的方法,并且是Firefox CI中构成超过30,000个任务(并持续增加)的引擎。

有关更多信息和使用说明,请查看文档

工作原理

Taskgraph利用了Taskcluster是一个通用的任务执行平台这一事实。这意味着任务可以通过其综合API进行调度,而不仅限于由支持的事件触发。

Taskgraph利用这个执行平台,允许CI系统扩展到任何大小或复杂性。

  1. 通过Taskcluster的普通.taskcluster.yml文件创建了一个决策任务。此任务调用taskgraph

  2. Taskgraph评估一系列基于yaml的任务定义(类似于其他CI服务提供的定义)。

  3. Taskgraph对这些任务定义应用转换。转换是Python函数,可以程序性地修改或克隆任务定义。

  4. Taskgraph应用一些可选的优化逻辑以删除不必要的任务。

  5. Taskgraph通过其API将生成的任务图提交给Taskcluster。

Taskgraph通过声明性任务配置与程序性修改的组合,使其能够支持任何规模的CI系统。Taskgraph是驱动Firefox CI中30,000+任务的库。

安装

Taskgraph支持Python 3.8及以上版本,并可以从Pypi安装。

pip install taskcluster-taskgraph

或者,可以直接克隆仓库并安装。

git clone https://github.com/taskcluster/taskgraph
cd taskgraph
python setup.py install

在这两种情况下,建议使用Python 虚拟环境

参与贡献

如果您想参与贡献,请参阅我们的贡献文档

项目详情


发布历史 发布通知 | RSS订阅

下载文件

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

源代码分发

taskcluster_taskgraph-11.2.1.tar.gz (371.2 kB 查看哈希值)

上传于 源代码

构建分发

taskcluster_taskgraph-11.2.1-py3-none-any.whl (191.7 kB 查看哈希值)

上传于 Python 3

由以下支持