在自有生产环境中访问流星设置

时间:2013-04-18 18:13:24

标签: settings meteor production-environment

根据Meteor的documentation,我们可以通过命令行添加设置文件,以提供特定于部署的设置。

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

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

1 个答案:

答案 0 :(得分: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

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

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

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

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