在每个travis构建中,运行composer self-update
。它会在每次构建时更新。是否可以像vendor
dir via
cache:
directories:
- vendor
- $HOME/.composer/cache
我考虑过缓存整个/home/travis/.phpenv/versions/5.5/bin/composer
,但我觉得这不对,因为此文件夹的内容可能会更改而不通知缓存系统有关更改(例如travis更新php版本时)。
任何建议(当然除了自定义作曲家)?
答案 0 :(得分:6)
我建议不要更新作曲家本身,但让travis处理它。 (它每30/60天自动更新一次)
我还建议使用新的容器化基础设施来加速运行并允许缓存......
language: php
sudo: false
cache:
directories:
- $HOME/.composer/cache
php:
- 5.5
- 5.6
- 7
- hhvm
install:
- composer install
script: vendor/bin/phpunit
sudo: false
语句表示容器的使用。 cache:
语句确保编写器正确缓存。
如果确实想要缓存作曲家二进制文件:
language: php
php:
- 5.5
- 5.6
- 7
- hhvm
cache:
directories:
- $HOME/.composer/cache
install:
- travis_retry composer self-update && composer --version
- export PATH="$HOME/.composer/vendor/bin:$PATH"
- travis_retry composer install --prefer-dist --no-interaction
script: vendor/bin/phpunit
另外,如果要测试HHVM并且需要设置日期时间,请查看https://github.com/travis-ci/travis-ci/issues/2523。我解决这个问题的方法是在我的.ini
目录中添加一个test
- 文件,其中包含日期时间,并将其设置在所有测试运行者的正确文件夹中。这是在install:
- 步骤:
- mkdir -p /home/travis/.phpenv/versions/$(phpenv version-name)/etc/conf.d
- phpenv config-add test/phpconfig.ini
无论如何,比您要求的信息多一点,但我希望这有助于寻找作曲家/特拉维斯/东西的人:)