我通过系统环境变量Ex:'staging','production'来识别我的openshift nodejs app环境。我的自定义环境变量名称为OPENSHIFT_APP_ENV
。我已将此设置为.bash_profile
并运行source .bash_profile
。
当我在openshift应用程序中的命令行中printenv
或echo $OPENSHIFT_APP_ENV
时,我可以看到正确设置的值。
但是我的nodejs app中没有读取/设置这些变量。我只是想把它读作global.ENV = process.env.OPENSHIFT_APP_ENV || "development";
我觉得它应该是简单的设置问题,但无法以某种方式使其工作。任何帮助将不胜感激。
答案 0 :(得分:1)
您应该使用开发人员中心本节(https://developers.openshift.com/en/managing-environment-variables.html#custom-variables)中所述的rhc env set
命令来设置环境变量。特别是如果您使用的是缩放应用程序,则可确保在所有齿轮上创建自定义环境变量。
使用NODE_ENV环境变量来确定您正在操作的环境也是标准做法(我相信)。
你还应该确保停止&在创建环境变量之后启动(不重新启动)应用程序以确保您的进程正确地选择它们(可以解决您的应用程序问题没有看到.bash_profile中的那些,但我仍然建议使用rhc env set命令代替)