0

我通过系统环境变量来识别我的 openshift nodejs 应用程序环境,例如:'staging'、'production'。我的自定义环境变量名称是OPENSHIFT_APP_ENV. 我已经设置好.bash_profile并运行了source .bash_profile

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

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

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

4

1 回答 1

1

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

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

您还应该确保在创建环境变量后停止并启动(而不是重新启动)您的应用程序,以确保您的进程正确选择它们(可能会解决您的应用程序看不到 .bash_profile 中的应用程序的问题,但我会仍然建议改用 rhc env set 命令)

于 2015-02-28T19:02:06.403 回答