为什么 ebextensions 被忽略了

Why are ebextensions are getting ignored

我 运行遇到 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

这里没什么特别的,只是设置文档根目录和作曲家选项。因为部署总是因为 laravel dusk 而失败。 (它抛出了一个期望,它不能保存在生产中使用它)

然后我运行一次

eb init

然后

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

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

但是部署失败,因为 laravel dusk 包。深入研究日志,表明 eb 没有占用 options_settingscomposer_options 是空的。

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

所以 .ebextensions 文件夹和配置文件似乎被忽略了。

我也终止了 re-created 堆栈,但结果相同。

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

或者,您也可以通过执行 eb create/deploy --staged.

来部署分阶段(git add-ed)更改而不是提交的更改