安全、缓存友好的大二进制文件访问,用于构建和测试
项目描述
# 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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 933036031bd3fe879e5abeaae666348eb99d0eb09c380db46032d7de4dd221a8 |
|
MD5 | c1b5b5f7aa9b2931a4b85696f422f1e4 |
|
BLAKE2b-256 | 5bbef65236b093ce647bcf0c0553bfbbae4ac5f2aaad7acb1d94189bcd838774 |