安全、缓存友好地访问用于生成和测试的大型二进制blob
relengapi-tooltool的Python项目详细描述
#工具工具
这是工具工具。tooltool是一个程序,它有助于使下载变得更大 在ci环境中更容易使用二进制文件。程序创建一个基于json的清单 与二进制文件相比这是很小的。该清单被传送到 以某种方式需要二进制文件的机器(签入、包含在tarball中等) 机器将在其中运行工具工具工具下载。
使用取模式时,程序将检查文件是否存在。 在当地。如果该文件在本地不存在,程序将尝试取回。 从提供的一个基本URL。tooltool用来获取文件的api 非常简单。api是每个文件请求将查找http 资源,它是任意基url的组合,即 命名为使用的哈希算法和存储的每个文件的哈希结果。
例如,使用基url“http://localhost:8080/tooltool”,算法“sha512” 一个散列到“abcedf012456789”的文件,工具工具工具将查找该文件 在“http://localhost:8080/tooltool/sha512/abcdef0123456789”处。如果有本地人 已经在清单中指定了文件名的文件,工具工具工具将不会 默认覆盖。在这种情况下,TooTo工具将以非0退出值退出。 如果启用覆盖模式,工具工具工具将使用 清单中指定的文件。
##结构
这个存储库包含tooltool客户端–tooltool.py–和 工具工具服务器组件,它是 [relengapi](https://github.com/mozilla/build-relengapi)蓝图。
如果您想使用客户机,只需复制tooltool.py,它没有 依赖关系。
##开发
像处理任何版本的蓝图一样,破解工具工具工具。也就是说,大致上, 创建一个virtualenv并运行pip install-e.[test]来安装 蓝图及其所有依赖项,包括运行测试的依赖项。
通过github发送请求。
travis通过 validate.sh脚本,可以自己运行。