如何在elasticbeanstalk选项设置文件中设置NODE_ENV变量

Cle*_*uck 3 node.js amazon-elastic-beanstalk

我需要在eb选项设置文件中设置它,而不是控制台.我不明白为什么.elasticbeanstalk/optionsettings.myappEnv中的以下代码不起作用.我已经倾倒了aws doc和堆栈溢出无济于事.

[aws:elasticbeanstalk:application:environment]
PARAM1=
PARAM2=
PARAM3=
PARAM4=
PARAM5=
NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)

Cle*_*uck 6

好的,所以我放弃了选项设置文件并创建了一个env.config文件,其中包含以下内容:

option_settings: - option_name:NODE_ENV值:生产

这工作得很好.我正在使用aws eb命令行工具.在.ebextensions文件夹下完成env.config的内容:

packages: 
  yum:
    ImageMagick: [] 

option_settings:
  - option_name: NODE_ENV
    value: production


commands:
  000_fixNpmHome:
    command: sed -i 's/function error_exit/export HOME=\/root\n\nfunction error_exit/' /opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh
  010_fixNpmProduction:
    command: sed -i "s/'install'/'install', '--production'/" /opt/elasticbeanstalk/containerfiles/ebnode.py
Run Code Online (Sandbox Code Playgroud)

  • 我得到它工作,并感到羞耻,说我没有将.config文件提交到我的仓库:(我认为`eb`处理选项而不是什么,但你实际上必须要`git commit ./ebextensions/*`然后可以`git aws.push`或通过Web控制台部署.应该是显而易见的,但值得注意,以防其他人有这个问题. (2认同)