包括存储库中不存在的文件

时间:2017-06-14 20:23:32

标签: node.js git mongoose openshift

这是一个普遍的问题,我从来没有必要部署自己的代码,而且我不确定如何正确地执行此操作。

我的项目中有一个文件,它创建一个mongoose对象并连接到远程Mongo数据库(不是在openshift中创建的数据库)。连接字符串包含我的用户和密码,因此我将其设置为被git忽略,因此它不会公开。

mongoose.connect( 'mongodb://$Username:$password@ds111111.mlab.com:49551/db_name' );

但是现在我遇到的问题是,当我从我的git源创建一个构建时,很明显这个文件不存在而且应用程序崩溃了。

正确的方法是什么?

2 个答案:

答案 0 :(得分:2)

有很多方法可以做你需要做的事情。但是,here概述的建议在业内常用。 config部分是您正在寻找的部分。

它的要点是你应该将你的秘密存储在环境变量中。 Here是一个可能有用的Stack Overflow问题。

答案 1 :(得分:0)

您使用的是什么版本的OpenShift?

如果您正在谈论OpenShift 3,您可以在部署配置上声明环境变量。这些可以具有部署配置本身中设置的环境的值,或者您可以使用单独的机密对象并从机密中引用环境变量的值。可以将秘密作为文件安装到正在运行的容器中,应用程序可以从文件中读取凭据。