nodejs openshift盒式磁带 - 不读取自定义环境变量

时间:2015-02-28 10:43:54

标签: node.js environment-variables openshift openshift-cartridge

我通过系统环境变量Ex:'staging','production'来识别我的openshift nodejs app环境。我的自定义环境变量名称为OPENSHIFT_APP_ENV。我已将此设置为.bash_profile并运行source .bash_profile

当我在openshift应用程序中的命令行中printenvecho $OPENSHIFT_APP_ENV时,我可以看到正确设置的值。

但是我的nodejs app中没有读取/设置这些变量。我只是想把它读作global.ENV = process.env.OPENSHIFT_APP_ENV || "development";

我觉得它应该是简单的设置问题,但无法以某种方式使其工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您应该使用开发人员中心本节(https://developers.openshift.com/en/managing-environment-variables.html#custom-variables)中所述的rhc env set命令来设置环境变量。特别是如果您使用的是缩放应用程序,则可确保在所有齿轮上创建自定义环境变量。

使用NODE_ENV环境变量来确定您正在操作的环境也是标准做法(我相信)。

你还应该确保停止&在创建环境变量之后启动(不重新启动)应用程序以确保您的进程正确地选择它们(可以解决您的应用程序问题没有看到.bash_profile中的那些,但我仍然建议使用rhc env set命令代替)