Docker Travis不缓存目录
我有一个.travis.yml文件,它描述了要缓存的目录,但是当我检查travis中的cache下拉列表时,它告诉我什么都没有。我只是想缓存我的composer供应商文件夹。下面是我的.travis.yml文件:Docker Travis不缓存目录,docker,travis-ci,Docker,Travis Ci,我有一个.travis.yml文件,它描述了要缓存的目录,但是当我检查travis中的cache下拉列表时,它告诉我什么都没有。我只是想缓存我的composer供应商文件夹。下面是我的.travis.yml文件: sudo: required language: php php: - 7.0 services: - docker before_install: - docker-compose up -d install: composer install cache:
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
这是我的项目结构(或重要的文件夹/文件):
关于为什么会出现这种情况,有什么建议吗?为了缓存随
composer
安装的依赖项,您需要如下指定缓存:
cache:
directories:
- $HOME/.composer/cache
缓存的不是vendor
目录,而是composer
自己的缓存
但是,您也应该从dist
安装以保持缓存小:
install:
- composer install --prefer-dist
有关参考,请参阅 旧版本的Composer(alpha1之前)使用$HOME/.Composer/cache/files
缓存,新版本使用$HOME/.cache/Composer/files
将它们中的两个设置为兼容性
cache:
directories:
- $HOME/.cache/composer/files
- $HOME/.composer/cache/files
Travis 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
在Travis中仍然没有看到缓存,这是我更新的.Travis.yml安装和缓存。我还显式地设置了sudo:false:install:-composer-install——preferreddist-cache:directories:-$HOME/.composer/cache-root/vendor,没有任何进一步的信息就很难判断。这是一个你可以链接到的开源存储库吗?你应该看到这样的情况:可能缓存不起作用,因为你正在使用。可能——他们的文档中没有明确说明缓存不适用于docker
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