Как добавить php-amqp в CircleCI config.yml?

Я попытался добавить в мой 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 задания:
        build:
            docker:
                # укажите желаемую версию здесь - image: circleci/php:7.1-браузеры # Укажите здесь служебные зависимости, если необходимо # CircleCI поддерживает библиотеку предварительно созданных изображений 4
            #, документированных по адресу https://circleci.com/docs/2.0/circleci-images/
            # - image: circleci/mysql:9.4

            working_directory: ~/repo

    #        branch:
    #            only: master

            steps:
            - checkout

            # Загрузка и кеширование зависимостей - restore_cache:
                  keys:
                  - v1-dependencies-{{ checkum "composer.json" }}
                  # возврат к использованию самого последнего кеша, если точное совпадение не найдено - v1-зависимости - - запустить: sudo apt-get установить -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:
                  paths:
                  - ./vendor
                  key: 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:
            jobs:
            - сборка: фильтры: филиалы: только: мастер

1 ответ

Решение

Я решил вопрос:

- 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
Другие вопросы по тегам