由于Meteor free hosting即将消失,我尝试将其中一个应用部署到Heroku。使用Github存储库进行部署似乎是一种很好的做法。
出于安全原因,我的settings.json
位于.gitignore
内,并且未被推送到我的Github回购。
这并没有给Meteor托管带来任何问题,因为meteor deploy --settings settings.json
使用了本地文件。
现在,Heroku存在问题。即使使用heroku config:set METEOR_SETTINGS="$(cat settings.json)"
也无法正常工作,因为它无法识别设置文件。
这种方法有问题吗?即使集成处于活动状态,我是否必须将settings.json
直接推送到Heroku?如果是这样,我该怎么做?
答案 0 :(得分:1)
Heroku解决此问题的方法基于他们的12factor App配置原则(请参阅以“环境变量中的十二因素应用商店配置”开头的段落)。所以这样做的方法是将配置从settings.json移动到配置变量。这将是一个例子:
heroku config:set MY_VAR=myValue MY_VAR2=myOtherValue -a myApp
看起来OP已经知道这种方法,他只需要为settings.json
中的每个键值对取得它。这种方法的好处是,如果您将更多人带入项目,您不必找到安全传输此信息的方法;授权用户可以使用heroku config -a myApp
获得所需的信用。您也可以访问heroku dashboard并通过网络界面添加设置,如果这对您来说更容易。