为什么ebextensions被忽略

时间:2018-10-17 15:21:44

标签: laravel devops amazon-elastic-beanstalk

我遇到了laravel和Elastic Beanstalk的问题。 我想将laravel项目部署到AWS eb,并设置一些vpc和其他内容。

因此,在我的laravel-app文件夹中,我创建了一个.ebextensions文件夹以及两个配置文件01setup.config03deploy.config

我的setup.config如下:

option_settings:
  aws:elasticbeanstalk:container:php:phpini:
    document_root: /public
    composer_options: --no-dev --no-interaction --prefer-dist --optimize-autoloader

  aws:elasticbeanstalk:application:environment:
    APP_ENV: production
    APP_KEY: CATZ
    DB_HOST: CATZ
    DB_DATABASE: CATZ
    DB_USERNAME: CATZ

这里没有什么特别的,只需设置文档的root和composer选项。因为部署总是由于幼虫黄昏而失败。 (这引起了人们的期望,那就是在生产中使用它是不值得的)

然后我跑了一次

eb init

然后

eb create --vpc.id CATS--vpc.elbpublic --vpc.elbsubnets CATS --vpc.ec2subnets CATZ --vpc.securitygroups CATZ

要创建eb并为ec和elb实例设置vpc。

但是,由于laravel黄昏软件包,部署失败。深入查看日志,表明eb并没有占用options_settings,而composer_options为空。

我检查了Configuration - Software - Modify下的控制台仪表板,并设置了文档根目录或env变量。

所以似乎以某种方式忽略了.ebextensions文件夹和配置文件。

我也终止并重新创建了堆栈,但结果相同。

1 个答案:

答案 0 :(得分:1)

如果您的目录是受版本控制的,则eb create / eb deploy将使用HEAD从中创建一个zip文件。 .ebextensions/在VC中吗?如果没有,则需要提交。

或者,您也可以通过执行git add来部署分阶段的(eb create/deploy --staged-ed)更改而不是已提交的更改。