2015-12-26 98 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