在elasticbeanstalk中设置NODE_ENV变量

And*_*ett 7 cloud git amazon-web-services node.js amazon-elastic-beanstalk

我创建了一个名为.elasticbeanstalk/environment.config的文件,其中包含以下内容:

option_settings:
  - option_name: NODE_ENV
    value: development
Run Code Online (Sandbox Code Playgroud)

我也将process.env.NODE_ENV传递给视图,以便我可以检查该值

app.get('/', function(req, res) {
  var data = {
    env: process.env.NODE_ENV
  }
  res.render('upload',data);
});
Run Code Online (Sandbox Code Playgroud)

在我的本地机器上,我得到的值是"本地",这是我设置的.当我通过$ git aws.push值部署到Amazons Elastic Beanstalk时为空.

我还需要做什么让EB识别NODE_ENV设置吗?

Jos*_*vis 17

您的.config文件应该位于.ebextensions目录中,而不是.elasticbeanstalk.

然后尝试一下,如果不起作用,您可以随时使用控制台.

在此期间,您始终可以使用Elastic Beanstalk控制台,您可以从其界面添加环境变量.为此,只需:

  1. 打开你的环境.
  2. 您将在左侧看到仪表板,配置,日志等.单击"配置"链接.
  3. 然后单击" 软件配置"块旁边的齿轮图标.
  4. 向下滚动并为"环境属性"添加键/值.


Kar*_*ran 6

其他设置environment variables弹性豆茎的方法是 -

  1. .ebextensionslike 目录中创建一个配置文件environmentalvar.config并在其中定义变量option_settings并将此文件包含到应用程序包中。(AWS 文档

    例子 -

    option_settings:
         aws:elasticbeanstalk:application:environment:
           NODE_ENV: production
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过使用弹性 beanstalk 命令行工具。设置变量的命令-

    eb setenv VAR_NAME=VAR_VALUE