更新:这些天modules被称为services.
我想将项目的模块组织到各种子文件夹中,其中每个子文件夹包含与每个模块有关的代码.特别是,我希望包含默认模块的文件夹与其他模块处于同一级别(即它们都是兄弟姐妹).我按照模块文档中显示的图表:
但是,令我困惑的是语句" 重要:app.yaml文件必须位于应用程序的根目录中 ".这是否意味着默认模块(及其app.yaml)必须位于项目根目录中,因此是非默认模块的父项?
将具有微服务架构的应用程序部署到Google的应用程序引擎时,它要求我的服务之一成为默认服务。
为什么需要这样做,并且默认服务的行为与其他任何“命名”服务不同?
我正在尝试在Flex环境上部署App Engine节点服务。下面是我的配置app.yaml
runtime: nodejs8
env: flex
#to name a service use below syntax
service: exampleNodeApp
env_variables:
NODE_ENV: "dev"
PORT: 3000
skip_files:
.env
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
Run Code Online (Sandbox Code Playgroud)
该配置将使用node8映像。我package.json的如下
{
"name": "expressapp",
"version": "1.0.0",
"private": true,
"main": "./bin/www",
"scripts": {
"start": "node ./bin/www",
},
"dependencies": {
"express": "~4.16.3",
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试指定引擎也喜欢
{
"node": "~8.*"
}
Run Code Online (Sandbox Code Playgroud)
并查看我使用的调试日志
gcloud app deploy --version default1 --verbosity=debug
Run Code Online (Sandbox Code Playgroud)
我得到的错误如下。尝试一切后仍无法解决。我的应用程序在本地运行良好。请帮忙!
--update--错误日志
UnsatisfiedRequirementsError: Your application does not satisfy all of the …Run Code Online (Sandbox Code Playgroud) google-app-engine google-sites node.js google-cloud-platform google-sites-2016