Я попытался добавить в мой config.yml следующую команду:
docker-php-ext-install amqp
но CircleCI говорит:
ошибка: / usr / src / php / ext / amqp не существует
Это мой полный файл config.yml:
# Конфигурационный файл PHP CircleCI 2.0 # # Проверьте https://circleci.com/docs/2.0/language-php/ для получения более подробной информации. # версия: 2 работы: построить: докер: # укажите желаемую версию здесь - image: circleci / php: 7.1-браузеры # Укажите сервисные зависимости здесь при необходимости # CircleCI поддерживает библиотеку готовых изображений 4 # задокументировано на https://circleci.com/docs/2.0/circleci-images/ # - изображение: circleci / mysql: 9.4 working_directory: ~ / repo # ветви: только #: мастер шаги: - проверять, выписываться # Скачать и кэшировать зависимости - restore_cache: ключи: - v1-зависимости - {{контрольная сумма "composer.json"}} # возврат к использованию самого последнего кэша, если точное совпадение не найдено - v1-зависимости- - выполнить: sudo apt-get install -y libpng-dev libfreetype6-dev libjpeg-dev - бежать: имя: установить расширения PHP команда: sudo docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir sudo docker-php-ext-install gd sudo docker-php-ext-install amqp - запустить: composer install -n --prefer-dist - save_cache: пути: - ./vendor ключ: v1-зависимости - {{контрольная сумма "composer.json"}} - запустить: mkdir var / data # запустить тесты! - запустить: ./vendor/bin/simple-phpunit --log-junit ~ / phpunit / junit.xml - store_test_results: путь: ~ / phpunit - store_artifacts: путь: ~ / phpunit рабочие процессы: версия: 2 build_tests: работы: - построить: фильтры: ветви: только: мастер
Я решил вопрос:
- run:
name: Install amqp extention
command: curl -L -o /tmp/amqp.tar.gz https://pecl.php.net/get/amqp-1.9.3.tgz && tar xfz /tmp/amqp.tar.gz && rm -r /tmp/amqp.tar.gz && sudo mkdir -p /usr/src/php/ext/amqp && sudo mv amqp-1.9.3 /usr/src/php/ext/amqp && cd /usr/src/php/ext/amqp/amqp-1.9.3 && sudo phpize && sudo ./configure --with-amqp && sudo make && sudo make install && sudo cp -a /usr/src/php/ext/amqp/amqp-1.9.3/. /usr/src/php/ext/amqp/ && sudo docker-php-ext-install amqp
Полный конфиг для проекта Symfony 4:
# PHP CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-php/ for more details
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
- image: circleci/php:7.1-browsers
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images 4
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/mysql:9.4
working_directory: ~/repo
# branches:
# only: master
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "composer.json" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- run:
name: Install pakaces
command: sudo apt-get install -y libpng-dev libfreetype6-dev libjpeg-dev librabbitmq-dev
- run:
name: Install PHP Extensions
command: sudo docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir && sudo docker-php-ext-install gd
- run:
name: Install amqp extention
command: curl -L -o /tmp/amqp.tar.gz https://pecl.php.net/get/amqp-1.9.3.tgz && tar xfz /tmp/amqp.tar.gz && rm -r /tmp/amqp.tar.gz && sudo mkdir -p /usr/src/php/ext/amqp && sudo mv amqp-1.9.3 /usr/src/php/ext/amqp && cd /usr/src/php/ext/amqp/amqp-1.9.3 && sudo phpize && sudo ./configure --with-amqp && sudo make && sudo make install && sudo cp -a /usr/src/php/ext/amqp/amqp-1.9.3/. /usr/src/php/ext/amqp/ && sudo docker-php-ext-install amqp
# && sudo make && sudo make install && sudo docker-php-ext-install amqp
- run: composer install -n --prefer-dist
- save_cache:
paths:
- ./vendor
key: v1-dependencies-{{ checksum "composer.json" }}
- run: mkdir var/data
# run tests!
- run: ./vendor/bin/simple-phpunit --log-junit ~/phpunit/junit.xml
- store_test_results:
path: ~/phpunit
- store_artifacts:
path: ~/phpunit
workflows:
version: 2
build_tests:
jobs:
- build:
filters:
branches:
only: master
Других решений пока нет …