我正在阅读“开始使用Openshift”指南,试图学习这些东西。我已经在python设备中成功地添加和配置了postgres。
如果在齿轮本身上运行env,则会看到数据库环境变量:
[]\> env |grep POSTGRESQL_DB
OPENSHIFT_POSTGRESQL_DB_HOST=x.x.x.x
OPENSHIFT_POSTGRESQL_DB_USERNAME=admindb
OPENSHIFT_POSTGRESQL_DB_PORT=5432但是在我部署的代码中,我用logging.error(os.environ)转储所有env变量,并且没有设置任何POSTGRESQL_DB变量。所有的蟒蛇似乎都装得很好。
我知道我可以手动设置这些vars,但是由于这些vars是由齿轮控制的,它们可能会变得陈旧。文档意味着应该设置这些变量(它们在示例代码中使用)。
发布于 2015-01-15 21:51:46
发现问题了。
在说明中,我们设置了一个hot_deploy标记(这样,当提交代码更改时,应用程序就不会弹出)。说明中的下一步是添加postgres墨盒,但在重新启动墨盒之前,环境变量不会加载。因此,弹出应用程序,一切都是好的。
谢谢,莱恩
发布于 2015-01-15 21:05:43
您的部署代码是否通过与您登录相同的登录shell环境运行?
编写代码的一个常见解决方案是通过登录shell启动一些通过非shell方法启动的shell环境变量。
例如:
/bin/bash -lc "/whatever/you/are/launching --args stuff"https://stackoverflow.com/questions/27972855
复制相似问题