使用travis-ci + Docker存储数据文件进行测试的最佳方法是什么?

时间:2017-05-03 13:02:57

标签: testing docker automated-tests travis-ci

我正在尝试使用travis-ci.org和Docker设置存储库的测试。但是,我找不到任何有关内存使用政策的手册。

要执行一组测试(test.sh),我需要运行一组输入文件,这些文件非常大(最高1 Gb,但平均500 Mb)。

一个想法是wget直接在test.sh脚本中,但对于每次测试运行,一次又一次地下载输入文件效率不高。 另一个想法是创建一个包含测试文件的独立dockerfile并将其挂载为驱动器,但是在通用寄存器中推送这么大的dockerimage并不好。

此类测试是否有一般处方?

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用Travis File Cache

您可以编写test.sh脚本,以便仅在本地文件系统上尚不可用的情况下下载测试文件。

.travis.yml文件中,指定成功构建后应缓存的目录。在下一次构建的开始时,Travis将自动还原该目录和其中的文件。这样一来,您的test.sh脚本就会注意到该文件已经存在,它将简单地跳过下载,您的构建应该会更快一些。

请注意,Travis缓存的工作方式是它将创建一个存档文件,并将其放在一些云存储中,以后也需要将其下载。但是,假设网络流量可能会在该“云”内部,并且也可能在同一数据中心内。在构建时间和减少自己的基础结构中资源的使用方面,这仍将为您带来一些好处。