【问题标题】:How to set NODE_ENV variable in elasticbeanstalk optionsettings file如何在弹性 beanstalk 选项设置文件中设置 NODE_ENV 变量
【发布时间】:2013-10-23 09:58:03
【问题描述】:

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

[aws:elasticbeanstalk:application:environment]
PARAM1=
PARAM2=
PARAM3=
PARAM4=
PARAM5=
NODE_ENV=production

【问题讨论】:

    标签: node.js amazon-elastic-beanstalk


    【解决方案1】:

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

    选项设置: - 选项名称: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
    

    【讨论】:

    • 我遇到了同样的问题。我记得在文档中看到了一些关于 env.config 的内容,你能参考一下吗?或者告诉我将 env.config 放在哪里以及如何将其与我现有的实例同步?
    • 我还不能让它工作。我假设您已将其设置为app.get('env') 返回production?我已经使用以下option_settings: - namespace: aws:elasticbeanstalk:application:environment option_name: NODE_ENV value: production 设置了一个 .ebextensions/env.config,但它已经开始工作了。有什么想法吗?
    • 是的,app.get('env') 返回生产。我没有命名空间:我的键,不确定你是否需要。这是我找到解决方案的链接:github.com/giggio/atelies/blob/master/.ebextensions/…
    • 嗯。感谢更新。那仍然对我不起作用。这是我的要点,gist.github.com/MichaelCastelbuono/7605911 用于我的选项设置。我需要你的其他命令吗?另外,保存 .config 文件时,我需要做的就是运行eb update 对吗?
    • 我得到了它的工作,很惭愧地说我刚刚没有将 .config 文件提交到我的 repo :( 我认为eb 处理了选项,但你实际上必须这样做git commit ./ebextensions/* 然后可以 git aws.push 或通过 Web 控制台部署。应该很明显,但值得注意的是,以防其他人遇到此问题。
    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 2015-07-30
    • 2017-08-22
    • 2020-01-01
    • 2014-09-22
    • 2021-12-23
    相关资源
    最近更新 更多