跳转到主要内容

安全、缓存友好的大二进制文件访问,用于构建和测试

项目描述

# Tooltool

这是tooltool。Tooltool是一个程序,帮助在CI环境中更容易地下载大型二进制文件。程序创建了一个基于json的清单,与二进制文件相比很小。该清单通过某种方式(检入、包含在tar包中等)传输到需要二进制文件的机器,机器将在该机上运行tooltool进行下载。

当使用获取模式时,程序将检查该文件是否本地存在。如果该文件不存在本地,程序将尝试从提供的基URL之一获取。Tooltool用于获取文件的API非常简单。该API是每个文件请求将查找一个结合了任意基URL、以哈希算法命名的目录和每个文件的哈希结果的http资源。

例如,使用基URL“http://localhost:8080/tooltool”,算法为“sha512”,文件哈希为“abcedf0123456789”,tooltool将在“http://localhost:8080/tooltool/sha512/abcdef0123456789”中查找文件。如果本地已存在在清单中指定的文件名,则默认情况下tooltool不会覆盖。在这种情况下,tooltool将以非0退出值退出。如果启用覆盖模式,tooltool将使用清单中指定的文件覆盖本地文件。

## 结构

此存储库包含tooltool客户端(tooltool.py)和tooltool服务器组件,后者是[RelengAPI](https://github.com/mozilla/build-relengapi)蓝图。

如果您想使用客户端,只需复制出tooltool.py即可 - 它没有依赖项。

## 开发

像任何RelengAPI蓝图一样在tooltool上进行开发。这意味着大致上,创建一个virtualenv并运行pip install -e .[test]来安装蓝图及其所有依赖项,包括运行测试的依赖项。

通过GitHub发送pull请求。

客户端和服务器组件都由Travis通过可自行运行的validate.sh脚本来覆盖。

项目详情


下载文件

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

源分发

relengapi-tooltool-1.0.0.tar.gz (128.6 kB 查看哈希值)

上传时间

由以下支持