是否有某种方法可以覆盖AWS Elastic BeanStalk默认的composer install命令?
我想要composer install --no-dev
。
答案 0 :(得分:1)
当我尝试时,上面和官方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
答案 1 :(得分:0)
是的,您可以在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
的内容将被附加到composer命令行。
您可以通过查看/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部分。