我正在尝试将 node.js 应用程序部署到 appEngine,但他似乎不喜欢我的 app.yaml。
D:\projects\Personal\Project>gcloud app deploy
ERROR: (gcloud.app.deploy) An error occurred while parsing file: [D:\projects\Personal\Project\app.yaml]
No URLMap entries found in application configuration
in "D:\projects\Personal\Project\app.yaml", line 10, column 12
这是 app.yaml:
runtime: nodejs
env: standard
skip_files:
- ^node_modules$
env_variables:
USER: 'dbUser'
PASSWORD: 'DBPass'
DB: 'URI to DB'
我是不是漏掉了什么? 难道是因为我的文件夹结构?
我有以下结构: - 客户 - 服务器 ---- 服务器.js - app.yaml
所以 app.yaml 不在服务器文件夹中,否则它不包含客户端文件夹...
最佳答案
现在标准环境支持 nodejs8(此时仍处于测试阶段),您必须更新本地 gcloud 环境才能部署。更新您的 gcloud 组件将使此警告消失。
运行
gcloud components update
更新您的 app.yaml 文件
有关所需的最基本示例,请参阅 Google 的 github:https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/appengine/building-an-app/build/app.yaml
更新您的 package.json
指定合适的兼容 Node 版本,示例:
"engines": {
"node": ">=8.0.0"
},
完整教程 关于在 App Engine 标准环境中构建 nodejs8 应用程序:https://cloud.google.com/appengine/docs/standard/nodejs/building-app/
标准环境的部署速度明显快于 flex 环境。
关于node.js - 在 Node.JS 应用程序的应用程序配置中找不到 URLMap 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43783296/