Travis-CI:如何在构建之间缓存作曲家可执行文件?
Travis-CI: how to cache composer executable between builds?
在每个 travis 构建中,composer self-update
是 运行。它会在每次构建时得到更新。是否可以像我们通过
使用 vendor
目录那样缓存作曲家可执行文件
cache:
directories:
- vendor
- $HOME/.composer/cache
我考虑过缓存整个 /home/travis/.phpenv/versions/5.5/bin/composer
但我觉得这是不对的,因为这个文件夹的内容可能会更改而不通知缓存系统有关更改(例如当 travis 更新 php 版本时).
有什么建议(当然,自定义作曲家除外)?
我建议不要更新 composer 本身,而是让 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:
语句确保作曲家正确缓存。
如果您真的想要缓存 composer 二进制文件:
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。我解决这个问题的方法是在我的 test
目录中添加一个带有日期时间的 .ini
文件,并将其设置在所有测试运行程序的正确文件夹中。这是在 install:
步中添加的:
- mkdir -p /home/travis/.phpenv/versions/$(phpenv version-name)/etc/conf.d
- phpenv config-add test/phpconfig.ini
无论如何,比您要求的信息多了一点,但我希望这对正在寻找 composer/travis/stuff 的人有所帮助 :)
在每个 travis 构建中,composer self-update
是 运行。它会在每次构建时得到更新。是否可以像我们通过
vendor
目录那样缓存作曲家可执行文件
cache:
directories:
- vendor
- $HOME/.composer/cache
我考虑过缓存整个 /home/travis/.phpenv/versions/5.5/bin/composer
但我觉得这是不对的,因为这个文件夹的内容可能会更改而不通知缓存系统有关更改(例如当 travis 更新 php 版本时).
有什么建议(当然,自定义作曲家除外)?
我建议不要更新 composer 本身,而是让 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:
语句确保作曲家正确缓存。
如果您真的想要缓存 composer 二进制文件:
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。我解决这个问题的方法是在我的 test
目录中添加一个带有日期时间的 .ini
文件,并将其设置在所有测试运行程序的正确文件夹中。这是在 install:
步中添加的:
- mkdir -p /home/travis/.phpenv/versions/$(phpenv version-name)/etc/conf.d
- phpenv config-add test/phpconfig.ini
无论如何,比您要求的信息多了一点,但我希望这对正在寻找 composer/travis/stuff 的人有所帮助 :)