Travis-CI: как кэшировать исполняемый файл композитора между сборками?

На каждом билде, composer self-update это запустить. И это обновляется при каждой сборке. Можно ли кэшировать исполняемые файлы композитора, как мы это делаем с vendor через

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

Я думал о кешировании всего /home/travis/.phpenv/versions/5.5/bin/composer но я чувствую, что это неправильно, потому что содержимое этой папки может измениться без уведомления системы кэширования об изменении (например, когда travis обновляет версию php).

Любые предложения (кроме пользовательского композитора, конечно)?

5

Решение

Я бы порекомендовал не обновлять сам композитор, но пусть Трэвис справится с этим. (автоматически обновляется каждые 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

В любом случае, немного больше информации, чем вы просили, но я надеюсь, что это поможет кому-то, кто ищет композитора / travis / stuff 🙂

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]