【发布时间】:2017-08-17 20:55:18
【问题描述】:
我们有我们的测试框架代码库以及 git repo 上的测试数据集。 测试数据量很大,从 1 GB 到 20 GB 不等,git 不是存储此类数据的解决方案。耗时的任务是:
- 从源 (Git) 下载数据
- 将数据传输到目标测试机。
减少数据传输时间的解决方案是什么?
【问题讨论】:
标签: git testing automated-tests
我们有我们的测试框架代码库以及 git repo 上的测试数据集。 测试数据量很大,从 1 GB 到 20 GB 不等,git 不是存储此类数据的解决方案。耗时的任务是:
减少数据传输时间的解决方案是什么?
【问题讨论】:
标签: git testing automated-tests
我认为在每个测试执行周期的机器之间传输如此庞大的文件是没有意义的。特别是如果所有文件都是静态的,并且构建的频率很高。
根据可用资源/基础架构,我会考虑使用 Docker 映像或带有共享文件夹的虚拟机。例如,在 Docker 的情况下,您可以有一个带有测试数据的已安装卷。虚拟机也可以配置为使用主机的共享(或仅使用已注入的自定义数据部署它)。公共服务也提供此类功能。
【讨论】:
需要最少存储的解决方案是动态数据生成。您可以创建算法来生成它们,而不是硬编码值和文件。
如果不能选择动态数据,您可以将文件存储在 Maven 存储库 (Sonatype Nexus) 中并下载这些文件。这样的文件会有一个版本,Maven 足够聪明,不会下载已经下载的工件。
如果您经常更改,如此大量的数据将需要大量存储空间。所以 Nexus 机器需要非常大。
【讨论】: