使用travis的caching(缓存)功能

这是TravisCI的一个实验性功能(暂时),能为我们的每一次build创建缓存。例如就前端开发来说,它可以使得:

  • 不用每一次build都重新安装npm依赖
  • 不用每一次build都重新安装bower依赖

机制

Travis会在每一次build的时候:

  1. 开始时查看是否已经存在缓存文件;如果有,把它拉下来(从s3服务器)
  2. script步骤后,after_successafter_failure之前,把配置里指明要cache的内容打包并上传到S3服务器

注意:

  • 万一上传cached失败,也不会把这次的build标志为failed
  • cache内容保存在s3服务器,所以实际上也还是会下载

例子

Python

下面这个设置会把$HOME/.cache/pip的内容缓存下来

language: python
cache: pip

缓存目录

你可以缓存任意的目录:

cache:
  directories:
  - .autoconf
  - $HOME/.m2

关于路径:

  • 没有以/开始的,就是相对路径,以$TRAVIS_BUILD_DIR为基准
  • /开头的话就是绝对路径
  • 可以使用如$HOME等变量

什么东西没必要缓存

安装快下载慢的文件没必要缓存,例如:

  • Android SDKs
  • Debian包
  • JDK包
  • 编译好的二进制

开启多种缓存

你可以缓存各种组合,如:

cache:
  bundler: true
  directories:
  - node_modules # NPM packages
  - vendor/something
  - .autoconf
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容