我正在尝试使用travis-ci.org和Docker设置存储库的测试。但是,我找不到任何有关内存使用政策的手册。
要执行一组测试(test.sh
),我需要运行一组输入文件,这些文件非常大(最高1 Gb,但平均500 Mb)。
一个想法是wget
直接在test.sh
脚本中,但对于每次测试运行,一次又一次地下载输入文件效率不高。
另一个想法是创建一个包含测试文件的独立dockerfile并将其挂载为驱动器,但是在通用寄存器中推送这么大的dockerimage并不好。
此类测试是否有一般处方?
答案 0 :(得分:0)
您是否考虑过使用Travis File Cache?
您可以编写test.sh
脚本,以便仅在本地文件系统上尚不可用的情况下下载测试文件。
在.travis.yml
文件中,指定成功构建后应缓存的目录。在下一次构建的开始时,Travis将自动还原该目录和其中的文件。这样一来,您的test.sh
脚本就会注意到该文件已经存在,它将简单地跳过下载,您的构建应该会更快一些。
请注意,Travis缓存的工作方式是它将创建一个存档文件,并将其放在一些云存储中,以后也需要将其下载。但是,假设网络流量可能会在该“云”内部,并且也可能在同一数据中心内。在构建时间和减少自己的基础结构中资源的使用方面,这仍将为您带来一些好处。