Setting NODE_ENV variable in elasticbeanstalk

拈花ヽ惹草 提交于 2019-12-23 08:36:21

问题


I've created a file called .elasticbeanstalk/environment.config with the following in it:

option_settings:
  - option_name: NODE_ENV
    value: development

I'm also passing the process.env.NODE_ENV to the view so I can check the value

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

On my local machine I get the value "local" which is what I've set it to. When I deploy to Amazons Elastic Beanstalk via $ git aws.push the value is empty.

Is there anything else I need to do for EB to recognise the NODE_ENV setting?


回答1:


Your .config file should be located in the .ebextensions directory, not .elasticbeanstalk.

Try it then, if that doesn't work, you can always use the console.

In the meantime, you can always use the Elastic Beanstalk Console which let's you add environment variables from its interface. To do so, just:

  1. Open up your environment.
  2. You'll see Dashboard, Configuration, Logs and more on the left. Click the Configuration link.
  3. Then click the gear icon next to the Software Configuration block.
  4. Scroll down and add a key/value for the Environment Properties.



回答2:


Other ways to set environment variables in elastic beanstalk are -

  1. Create a config file in .ebextensions directory like environmentalvar.config and define variables in option_settings and include this file into application bundle. (Aws Documentation)

    example -

    option_settings:
         aws:elasticbeanstalk:application:environment:
           NODE_ENV: production
    
  2. By using elastic beanstalk command line tool. Command for set variable-

    eb setenv VAR_NAME=VAR_VALUE



来源:https://stackoverflow.com/questions/26012083/setting-node-env-variable-in-elasticbeanstalk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!