2015-12-26 59 views
0

我有一个描述缓存目录的.travis.yml文件,但是当我检查travis中的缓存下拉菜单时,它告诉我没有任何东西。我只是试图缓存我的作曲家供应商文件夹。下面是我的.travis.yml文件:Travis没有缓存目录

sudo: required 

language: php 

php: 
    - 7.0 

services: 
    - docker 

before_install: 
    - docker-compose up -d 

install: composer install 
cache: 
    directories: 
    - root/vendor 

script: 
    - bundle exec rake phpcs 
    - bundle exec rake phpunit:run 
    - bundle exec rake ci:behat 

这是我的项目结构(或文件夹/文件说事):

|-- .travis.yml 
    |-- root 
    |-- vendor 

任何建议,为什么会这样呢?

回答

0

为了与composer安装缓存依赖,你需要指定这样的缓存:

cache: 
    directories: 
    - $HOME/.composer/cache 

这不是vendor目录被缓存,但composer自己的高速缓存。

但是,你也应该从dist安装,以保持高速缓存小:

install: 
    - composer install --prefer-dist 

仅供参考,请参阅http://blog.wyrihaximus.net/2015/07/composer-cache-on-travis/

+0

仍然没有看到在特拉维斯高速缓存,这是我更新.travis.yml安装和缓存。我也明确地设置须藤:假: 安装: - 作曲家安装--prefer - 距离 缓存: 目录: - $ HOME/.composer /缓存 - 根/供应商 – JeremyKirkham

+0

很难说没有任何更多信息。这是一个可以链接到的开源代码库吗? – localheinz

+0

https://github.com/JeremyKirkham/docker-php7 – JeremyKirkham

0

旧版本的Composer(pre alpha1)使用$HOME/.composer/cache/files作为缓存,新版本使用$HOME/.cache/composer/files

设置其中的两个兼容性。

cache: 
    directories: 
    - $HOME/.cache/composer/files 
    - $HOME/.composer/cache/files 

的特拉维斯CI生成日志将打印的线沿线的东西:

Setting up build cache 

$ export CASHER_DIR=$HOME/.casher 

$ Installing caching utilities      0.05s 
                 0.00s 
attempting to download cache archive     0.47s 
fetching master/cache-linux-precise-xxx--xxx-xxx.tgz 
found cache 
                 0.00s 
adding /home/travis/.cache/composer/files to cache 
adding /home/travis/.composer/cache/files to cache 1.28s