Travis CI:避免为每次提交重复安装软件包

时间:2015-04-13 11:11:36

标签: git github travis-ci

正如您在this travis.yml文件中看到的那样,我的代码依赖于某些第三方库,我在构建项目之前将它们安装在远程系统上。

Travis每次推送提交时都会下载并构建这些库,这可以避免吗?我的意思是,对于一个项目只做一次,之后构建过程使用那些已经构建的库进行后续提交?

1 个答案:

答案 0 :(得分:4)

有一个caching directories and dependencies的功能,但它目前是实验性的,不能直接用于公共存储库。要为公共存储库添加此支持,我们必须通过将sudo: false添加到.travis.yml的顶级来禁用sudoing。这会将未来的构建路由到Travis CI的container-based infrastructure

但是,缓存的工作方式现在有限制,引用documentation

  

缓存会更新配置中列出的所有目录,并使用安全且受保护的URL将其上传到S3,从而确保上载档案的安全性和隐私性。
  请注意,这使得我们的缓存不是网络本地的,它仍然绑定到S3的网络带宽和DNS解析。这会影响您可以存储在缓存中的内容。如果您在缓存中存储大于几百兆的存档,则您不太可能看到速度大幅提升。