1

我尝试在我的 config.yml 中添加以下命令:

docker-php-ext-安装 amqp

但 CircleCI 说:

错误:/usr/src/php/ext/amqp 不存在

这是我的完整 config.yml 文件:

    # PHP CircleCI 2.0 配置文件
    #
    # 查看 https://circleci.com/docs/2.0/language-php/ 了解更多详情
    #
    版本:2
    工作:
        建造:
            码头工人:
                # 在这里指定你想要的版本
                - 图片:circleci/php:7.1-浏览器

            # 如有必要,在此处指定服务依赖项
            # CircleCI 维护一个预建图像库 4
            # 记录在 https://circleci.com/docs/2.0/circleci-images/
            # - 图片:circleci/mysql:9.4

            工作目录:~/repo

    # 分支:
    # 仅限:大师

            脚步:
            - 查看

            # 下载并缓存依赖
            - 恢复缓存:
                  键:
                  - v1-dependencies-{{校验和“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-安装 amqp

            - 运行:composer install -n --prefer-dist

            - 保存缓存:
                  路径:
                  - 。/小贩
                  键:v1-dependencies-{{校验和“composer.json”}}

            - 运行:mkdir var/data

            # 运行测试!
            - 运行:./vendor/bin/simple-phpunit --log-junit ~/phpunit/junit.xml

            - store_test_results:
                路径:~/phpunit

            - store_artifacts:
                路径:~/phpunit

    工作流程:
        版本:2

        构建测试:
            工作:
            - 建造:
                过滤器:
                    分支机构:
                        唯一:大师

4

1 回答 1

0

我解决了这个问题:

- 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
于 2018-10-26T07:46:03.507 回答