地区 ID
REGION_ID
是 Google 根据您在创建应用时选择的地区分配的缩写代码。此代码不对应于国家/地区或省,尽管某些地区 ID 可能类似于常用国家/地区代码和省代码。在 App Engine 网址中包含 REGION_ID.r
对于现有应用是可选项,但在不久后将成为所有新应用的必要项。
为了确保顺利过渡,我们正在逐步更新 App Engine 以使用地区 ID。如果我们尚未更新您的 Google Cloud 项目,则您不会看到应用的区域 ID。由于该 ID 对于现有应用是可选的,因此您在现有应用可以使用区域 ID 后无需更新网址或进行其他更改。
详细了解区域 ID。
了解如何在本地运行您的应用,以及如何在 App Engine 上部署和测试应用。
在本地运行
如需在部署之前测试应用的功能,请使用您常用的开发工具在本地环境中运行应用,例如,npm start
。
部署应用的准备工作
在部署应用之前,请做好以下准备:
- Cloud 项目的 Owner 必须启用 App Engine。
- 确保您的用户帐号具备所需的权限。
部署应用
使用gcloud app deploy
命令可以将您的应用部署到 App Engine。
在部署期间,Cloud Build 服务会为您的应用构建一个容器映像,用于在 App Engine 标准环境中运行。如需了解详情,请参阅管理构建映像。
如需以编程方式部署应用,请使用 Admin API。
部署服务
如需将应用部署到 App Engine,您需要部署各个版本的应用服务及其所有配置文件。
要部署应用服务的某个版本,请从服务的 app.yaml
文件所在的目录运行以下命令:
gcloud app deploy
如果使用该命令时不指定文件,则仅部署当前目录中的 app.yaml
文件。默认情况下,deploy
命令会为您所部署的版本生成一个唯一 ID,将该版本部署到您在 gcloud
命令行工具中配置为要使用的 Google Cloud 项目,并将所有流量都路由到新版本。
通过指定目标文件或添加其他参数,您可以更改此命令的默认行为:
- 如需部署服务的其他配置文件,您必须单独定位并部署每个文件。例如:
gcloud app deploy cron.yaml gcloud app deploy dispatch.yaml gcloud app deploy index.yaml
- 要指定自定义版本 ID,请使用
--version
标志。 - 如需阻止流量自动路由到新版本,请使用
--no-promote
标志。 - 如需部署到特定 Google Cloud 项目,请使用
--project
标志。
例如,如需将 app.yaml
定义的服务部署到特定 Google Cloud 项目,请为该服务分配一个自定义版本 ID,并阻止流量路由到新版本:
gcloud app deploy --project PROJECT_ID --version VERSION_ID --no-promote
如需详细了解此命令,请参阅 gcloud app deploy
参考文档。
部署多项服务
您可以使用相同的部署命令来部署或更新应用中包含的多项服务。
如需部署多项服务,请单独部署每项服务的 app.yaml
文件。您可以在一个 gcloud app deploy
命令中指定多个文件:
gcloud app deploy service1/app.yaml service2/app.yaml
部署多项服务的要求
- 您必须先将应用的某个版本部署到
default
服务,然后才能创建和部署后续服务。 - 您必须在每项服务对应的
app.yaml
配置文件中指定服务的 ID。如需指定服务 ID,请在每个配置文件中添加service
元素定义。如果没有在配置文件中添加此元素定义,则该版本默认部署到default
服务。
忽略文件
您可以使用 .gcloudignore
文件指定在部署服务时不会上传到 App Engine 的文件和目录。如果要忽略构建工件和其他无需随部署上传的文件,这种做法会非常实用。
管理构建映像
您每次部署新版本时,系统都会使用 Cloud Build 服务创建一个容器映像。该容器映像随后会在 App Engine 标准环境中运行。
构建的容器映像存储在 Container Registry 的 app-engine
文件夹中。您可以下载这些映像,以便在其他位置存储或运行。部署完成后,App Engine 便不再需要容器映像。请注意,容器映像不会自动删除,因此为了避免达到存储空间配额,您可以安全地删除不再需要的任何映像。如需详细了解如何在 Container Registry 中管理映像,请参阅 Container Registry 文档。
查看应用
将应用部署到 App Engine 之后,您可以运行以下命令来启动浏览器,然后访问 https://PROJECT_ID.REGION_ID.r.appspot.com
来查看该应用:
gcloud app browse
在迁移流量之前在 App Engine 上进行测试
在配置新版本以接收流量之前,您可以在 App Engine 上测试新版本。例如,如需测试 default
服务的新版本,请执行以下操作:
部署新版本,但阻止流量自动路由到新版本:
gcloud app deploy --no-promote
转到以下网址以访问新版本:
https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com
现在,您可以在 App Engine 运行时环境中测试新版本。您可以通过查看应用日志来调试应用。如需了解详情,请参阅写入应用日志。
App Engine 将发送到
https://PROJECT_ID.REGION_ID.r.appspot.com
的请求路由到先前配置为接收流量的版本。如需将流量发送到新版本,请使用 Cloud Console 迁移流量:
选择刚部署的版本,然后点击迁移流量。
如需使用相同流程来测试其他服务的新版本,您可以将网址中的 default
替换为要测试的服务的名称:
https://VERSION_ID-dot-SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com
如需详细了解如何定位特定服务和版本,请参阅请求的路由方式。