Node.js 通过github部署openshift期间的mongodb凭据

Node.js 通过github部署openshift期间的mongodb凭据,node.js,mongodb,github,mongoose,openshift,Node.js,Mongodb,Github,Mongoose,Openshift,我想使用openshift来托管我的nodejs和mongodb应用程序。 我的mongodb正在mongo atlas上托管 但是openshift要求我将应用程序上传到github上进行部署。 我的问题是,在这种情况下,如何存储我的用户名和mongodb凭据。显然,我不能仅仅在github上推送密码并将其公开 我的联系声明是 Server.js var conString = "mongodb://username:password@cluster0-shard-00-00-e2zhz.mo

我想使用openshift来托管我的nodejs和mongodb应用程序。 我的mongodb正在mongo atlas上托管

但是openshift要求我将应用程序上传到github上进行部署。 我的问题是,在这种情况下,如何存储我的用户名和mongodb凭据。显然,我不能仅仅在github上推送密码并将其公开

我的联系声明是

Server.js

var conString = "mongodb://username:password@cluster0-shard-00-00-e2zhz.mongodb.net:27017,cluster0-shard-00-01-e2zhz.mongodb.net:27017,cluster0-shard-00-02-e2zhz.mongodb.net:27017/chat?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin"
//var conString = "mongodb://localhost:27017/mylearning";
app.use(express.static(__dirname))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))

mongoose.Promise = Promise

var Chats = mongoose.model("Chats", {
    name: String,
    chat: String
})

mongoose.connect(conString, { useMongoClient: true }, (err) => {
    console.log("Database connection", err)
})

使用秘密。文件可在以下网址找到:

另请参阅“部署到OpenShift”一书中的“配置和机密”一章,网址为:

这本书是免费下载的


您也不必在GitHub上安装代码。您可以使用二进制输入构建。这本书中也介绍过。

因此,在我创建YAML文件后,我应该如何分别修改代码?如果要创建YAML文件并装载它,则需要修改Node.JS代码,以从容器中装载YAML文件的位置读取YAML文件,以获取凭据。如果您刚刚创建了简单的key/value secret,并将这些值作为源于secret的环境变量传递,那么在Node.JS代码中读取该环境变量可能会更容易。