aws eb deploy 不加载环境变量

Mar*_*mas 4 environment-variables amazon-ec2 amazon-web-services symfony amazon-elastic-beanstalk

我正在通过 eb deploy 将 symfony 项目部署到 ec2 实例(aws linux 2)。部署后迁移脚本运行良好,但随后我尝试使用 ec2-user 运行 symfony 命令,我收到有关错误数据库凭据的错误。这是因为我已经用空值推送了转储 .env 文件。我所有的环境变量都存储在 eb -> 配置 -> 环境属性中。如何使这些变量对其他用户可见以正确执行命令?

我可以将这些变量视为 json:

/opt/elasticbeanstalk/bin/get-config environment
Run Code Online (Sandbox Code Playgroud)

Mar*_*cin 8

Amazon Linux 1 上的 EB 环境变量存储在:

/opt/elasticbeanstalk/support/envvars
Run Code Online (Sandbox Code Playgroud)

因此,要在登录实例时加载它们,您可以执行以下操作:

source /opt/elasticbeanstalk/support/envvars
Run Code Online (Sandbox Code Playgroud)

要检查它们是否已加载,您只需执行:

env
Run Code Online (Sandbox Code Playgroud)

ps

对于亚马逊 Linux 2:

export $(cat /opt/elasticbeanstalk/deployment/env | xargs)
Run Code Online (Sandbox Code Playgroud)

  • 我以 ec2-user 身份登录,并且必须对 cat 执行 sudo 才能解决权限问题。`导出 $(sudo cat /opt/elasticbeanstalk/deployment/env | xargs)`。还有其他人疯狂地用弹性豆茎上的 Rails 解决无数的开发运营问题吗? (7认同)
  • @Alan 不仅是 Rails,其他所有平台都有问题。大多数文档和教程都是针对 Amazon Linux 1 的,几乎没有任何文档和教程可以用于基于 Amazon Linux 2 的 EB。 (4认同)