我有一个在我自己的digitalocean VM上运行的应用程序,我正在尝试使用它来弄清楚如何运行流星生产服务器。我用meteor build
部署了它,但现在我对如何推送更新有点不确定。如果我在自己的机器上构建一个新的tarball,我将丢失我的用户对bundle / uploads中的文件所做的文件引用,因为远程文件系统没有合并到我的本地项目中。我可以想象一些解决这个问题的hacky方法,但除了在s3或其他第三方服务器上托管文件之外,有没有办法将“热代码推送”到已部署的应用程序而无需在我的服务器上移动文件?
我是否因为想知道生产中的git push / pull的流星效应,或者只是无知而疯狂?
答案 0 :(得分:1)
您可以使用dokku
(https://github.com/progrium/dokku)。 DigitalOcean允许您创建实例pre-installed with dokku too。
设置好ssh密钥后,设置环境变量ROOT_URL
,PORT
和MONGO_URL
,您可以将该服务器添加为git远程,只需git push
1}}到它。
Dokku将自动构建Meteor应用程序并使其运行,并在您推送时保持最新状态。
我发现Dokku非常方便。还有flynn和deis,它们可以在多租户环境中做同样的选择。要记住一件事就是推动拥有回购的人保留Node version in the buildpack up to date。在使用最新版本的Node并拒绝旧版本时,Meteor有点过于热心。
答案 1 :(得分:0)
流星在这个部门确实缺乏一点。我不记得我在哪里听过这个,但我相信他们打算将this very popular Meteor部署包添加到他们的库中。如果没有切换到更兼容的主机,我不知道有任何更好的解决方案。