В настоящее время я использую Travis CI для тестирования набора Symfony. PHPUnit устанавливается с помощью Composer, поскольку PHPUnit объявлен как dev
зависимости:Как кэшировать phpunit.phar на Travis CI?
{
…
"require" : {
"php": ">=5.5",
"symfony/symfony": "~2.7 || ~3.0"
},
"require-dev": {
"doctrine/orm": "^2.4.8",
"symfony/assetic-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"doctrine/doctrine-fixtures-bundle": "~2.3",
"liip/functional-test-bundle": "~1.4",
"phpunit/phpunit": "4.8.* || ~5.1"
},
…
}
Даже если я использую кэш Travis CI для кэширования папки ~/.composer
после каждой сборки, установок PHPUnit с Composer занимает некоторое время, потому что PHPUnit должен проверить все зависимостей перед их установкой.
Так я думал о использовании версии ФАР из PHPUnit, которые могут быть установлены в одной команде:
wget https://phar.phpunit.de/phpunit.phar
Но если я использую эту команду на Travis CI, PHPUnit будет загружен один раз в каждой сборке. Есть ли способ для кеш этого phpunit.phar
файл? Легким способом может быть поместить файл в кеш, проверить дату этого файла и загрузить новую версию, если файл старше 1 дня, но может быть более простое решение.
Существует опция --self-update
для PHPUnit, но она will be removed in the next major release.
Извините, я забыл указать, что я уже использую кеш Travis CI для кеша композитора. –
О, я вижу. Почему бы вам просто не использовать его для кэширования загруженного файла 'phpunit.phar' тоже? – helmbert
Потому что это означало бы, что Travis загружает файл 2. phpunit.phar на 2.9 Mb в каждой сборке. –