Использование APCu на Travis CI, на котором работает Ubuntu 12.04

4

У меня есть приложение Symfony, которое зависит от APCu (php5-apcu). На сервере запущен PHP 5.6 на Ubuntu 15.04. APCu требуется как зависимость через композитор, то есть:

"require": {
    "ext-apc": "~4.0"
}

Что отлично работает. Попытка получить приложение, запущенное на Travis-CI, не так гладко, так как они запускают Ubuntu 12.04, у которого нет пакета php5-apcu, который дает:

E: Не удается найти пакет php5-apcu

Установка php-apc не соответствует требованию ext-apcu, и я бы предпочел не продвигать устаревшие пакеты.

Любые предложения по настройке APCu на Travis CI? Предпочтительно без ручной загрузки пакета.

  • 0
    Как насчет установки его из PECL? Travis-CI поддерживает установку из PECL, а APCu 4.0.7 можно без проблем установить на 12.04 с PECL.
Теги:
travis-ci
ubuntu-14.04
ubuntu-12.04

1 ответ

4
Лучший ответ

Вы можете легко установить расширение apcu из pecl.

Вот пример файла .travis.yml:

language: php

php:
  - 5.6

before_script:
  - pear config-set preferred_state beta
  - yes '' | pecl install apcu

script:
  - cd tests/ && phpunit

Если вам нужно более сложное решение, например несколько версий php, вы сможете легко принять решение из репозитория доктрины/кеша (https://github.com/doctrine/cache/blob/master/.travis.yml). Они запускают тесты против php 5.3 - 5.6 и hhvm со следующим before_script:

[...]
before_script:
    - [...]
    - sh -c "if [[ $TRAVIS_PHP_VERSION != 'hhvm' && `php-config --vernum` -ge 50500 ]] ; then pecl config-set preferred_state beta; printf "yes\n" | pecl install apcu ; else echo 'extension="apc.so"' >> ./tests/travis/php.ini ;fi"
    - [...]
[...]

Счастливое тестирование

  • 0
    Большое спасибо за ответ. Pecl установка была способом, отредактировала Ваш ответ, чтобы включить мой определенный процесс установки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню