Settings.json to Heroku config



我正在向Heroku部署一个Meteor/Node应用程序。 我的设置.json中有以下行(用于OKGrow分析)。

{
"public": {
"analyticsSettings": {
"Google Analytics": {
"trackingId": "12345"
},
"Segment.io": {
"apiKey": "abcdef"
}
}
}
}

但是,公司政策不允许我将 settings.json 签入源代码管理。 有没有办法使用 Heroku 配置变量来实现这一点? 还有其他解决方案吗?

> Heroku 建议通过环境变量配置您的应用程序:

更好的解决方案是使用环境变量,并将键排除在代码之外。在传统主机上或在本地工作,您可以在bashrc文件中设置环境变量。在 Heroku 上,您可以使用配置变量。

幸运的是,Meteor 将从METEOR_SETTINGS环境变量加载设置:

直接运行服务器(例如,从捆绑包中)时,您可以通过将 JSON 直接放入METEOR_SETTINGS环境变量来指定设置。如果设置对象包含名为public的键,则Meteor.settings.public将在客户端和服务器上可用。Meteor.settings的所有其他属性仅在服务器上定义。即使未指定设置,也可以依赖客户端和服务器上Meteor.settingsMeteor.settings.public定义的对象(不是未定义)。运行时对Meteor.settings.public所做的更改将由新的客户端连接选取。

因此,只需设置应用程序的METEOR_SETTINGS环境变量,例如通过

heroku config:set METEOR_SETTINGS="$(cat settings.json)"

在您的开发计算机上,或使用 Heroku 的 Web 界面。

最新更新