将 Meteor 部署到 Google App Engine 2017

Posted

技术标签:

【中文标题】将 Meteor 部署到 Google App Engine 2017【英文标题】:Deploy Meteor to Google App Engine 2017 【发布时间】:2017-09-29 20:26:49 【问题描述】:

所以我正在尝试将一个简单的流星应用程序部署到 Google App Engine。我试过按照本教程https://cloud.google.com/community/tutorials/run-meteor-on-google-app-engine 但这导致 error: Can't find npm module 'meteor-deque'. Did you forget to call 'Npm.depends' in package.js within the 'meteor' package? 谷歌搜索导致了更多教程,但通过他们的 cmets 似乎它们也已经过时了。 还有这个https://medium.com/google-cloud/meteor-google-a-devops-post-b8a17f889f84 然而,这是关于部署到计算引擎的,所以这是 B 计划。 因此,如果你们中的任何人最近在 2017 年使用 Meteor 1.4 成功地将 Meteor 部署到 GAE,我想知道吗?可以分享一下细节吗?

【问题讨论】:

【参考方案1】:

感谢流星论坛的 kiyohiko。

https://forums.meteor.com/t/deploy-meteor-to-google-app-engine-2017/36171/4

这是对我有用的配置

app.yaml

env: flex
runtime: custom
threadsafe: true
automatic_scaling:
  max_num_instances: 1
env_variables:
  ROOT_URL: https://<gae-app-name>.appspot.com
  MONGO_URL: mongodb://<mongodb-username>:<mongodb-password>@<gce-ip>:27017/<mongodb-name>
  DISABLE_WEBSOCKETS: "1"
skip_files:
- ^(.*/)?\.dockerignore$
- ^(.*/)?\npm-debug.log$
- ^(.*/)?\yarn-error.log$
- ^(.*/)?\.git$
- ^(.*/)?\.hg$
- ^(.*/)?\.svn$

Dockerfile

FROM launcher.gcr.io/google/nodejs
RUN install_node v4.6.2
COPY . /app/
RUN (cd programs/server && npm install --unsafe-perm)
CMD node main.js

部署步骤

$> meteor build ../ --directory --architecture os.linux.x86_64 --server-only
$> cp app.yaml ../bundle/ && cp Dockerfile ../bundle/
$> cd ../bundle && gcloud app deploy --verbosity=info -q

【讨论】:

感谢您在 *** 上的分享。真的很感激!

以上是关于将 Meteor 部署到 Google App Engine 2017的主要内容,如果未能解决你的问题,请参考以下文章

Meteor JS 框架是不是与 Google App Engine 兼容?

将 Meteor 项目部署到我自己的域?

如何将第三方 JavaScript 库添加到 Meteor 应用程序?

将应用程序部署到 Meteor 时出现此错误

将 Meteor 应用程序部署到 Elastic Beanstalk

MongoDB / Meteor / 将 MONGO_URL 导出到已部署的应用程序