【发布时间】:2017-12-27 08:17:04
【问题描述】:
有什么方法可以覆盖 AWS Elastic BeanStalk 默认 composer install 命令?
我想运行composer install --no-dev。
【问题讨论】:
标签: amazon-web-services composer-php amazon-elastic-beanstalk
有什么方法可以覆盖 AWS Elastic BeanStalk 默认 composer install 命令?
我想运行composer install --no-dev。
【问题讨论】:
标签: amazon-web-services composer-php amazon-elastic-beanstalk
是的,您可以将额外的标志附加到 AWS Beanstalk 中的 composer 命令。
你需要在<app-root-dir>/.ebextensions/composer.config中创建一个额外的配置文件:
commands:
10updateComposer:
command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update
option_settings:
aws:elasticbeanstalk:application:environment:
option_name: COMPOSER_HOME
value: /root
aws:elasticbeanstalk:container:php:phpini:
composer_options: --no-dev
您在composer_options 中输入的任何内容都将附加到作曲家命令行中。
您可以通过查看您的/var/log/eb-activity.log 文件来验证此操作是否正确执行。留意这样的事情:
++ /opt/elasticbeanstalk/bin/get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o composer_options
+ PHP_COMPOSER_OPTIONS=--no-dev
+ echo 'Found composer.json file. Attempting to install vendors.'
Found composer.json file. Attempting to install vendors.
+ composer.phar install --no-ansi --no-interaction --no-dev
有关更多信息,您可以阅读手册中的Composer File 部分。
【讨论】:
当我尝试时,上面和官方 EBS 文档中的内容不起作用..
这对我有用:
option_settings:
- namespace: aws:elasticbeanstalk:container:php:phpini
option_name: composer_options
value: --no-dev
不确定此链接上的文档是否有错误,但我提交了一份报告.. http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_PHP.container.html#php-namespaces
【讨论】: