8

根据 Meteor 的文档,我们可以通过命令行包含一个设置文件来提供特定于部署的设置。

但是,该--settings选项似乎只能通过runanddeploy命令使用。如果我在我自己的基础架构上运行我的 Meteor 应用程序 - 如文档的在您自己的基础架构上运行部分中所述- 似乎没有办法在过程中的任何位置指定特定于部署的设置文件。

有没有办法在我自己的基础设施上运行的生产环境中访问 Meteor 设置?

4

1 回答 1

14

是的,将设置内容包含在环境变量METEOR_SETTINGS中。例如,

export METEOR_SETTINGS='{"privateKey":"MY_KEY", "public":{"publicKey":"MY_PUBLIC_KEY", "anotherPublicKey":"MORE_KEY"}}'

然后正常运行流星应用程序。

这将填充 Meteor.settings 对象具有正常。对于上面的设置,

Meteor.settings.privateKey == "MY_KEY" #Only on server
Meteor.settings.public.publicKey == "MY_PUBLIC_KEY" #Server and client
Meteor.settings.public.anotherPublicKey == "MORE_KEY" #Server and client

对于我们的项目,我们使用upstart脚本并将其包含在其中(尽管 upstart 的语法略有不同)。但是,如果您使用普通的 shell 脚本启动它,您只需要export在 node 命令之前包含该语句。例如,您可以有如下脚本:

export METEOR_SETTINGS='{"stuff":"real"}'
node /path/to/bundle/main.js

或者

METEOR_SETTINGS='{"stuff":"real"}' node /path/to/bundle/main.js

您可以在此处找到有关 bash 变量的更多信息。

于 2013-04-19T02:20:16.077 回答