当您向服务执行部署或更改服务配置时,系统会创建一个不可变的修订版本。
以下注意事项适用于修订版本:
- 您可以指定新修订版本是接收所有流量、不接收任何流量,还是仅接收部分流量,可以逐步发布新修订版本,在多个修订版本之间拆分流量,也可以从某个修订版本回滚。如需了解详情,请参阅回滚、逐步发布和流量迁移
- 您可以选择使用修订版本标记测试未处理流量的修订版本。
- 您不需要手动删除修订版本,但可以根据需要这样做。
- 未提供的修订版本不会使用任何资源,也不会产生费用。
- 每项服务最多有 1000 个修订版本:如果超出该限制,系统会自动删除较早的修订版本。
- 系统会自动分配修订版本后缀。如果要使用自己的版本后缀,可以使用 gcloud CLI 参数 --revision-suffix 执行此操作。
所需的角色
如需获得管理 Cloud Run 服务和修订版本所需的权限,请让您的管理员为您授予 Cloud Run 服务的 Cloud Run Developer (roles/run.developer
) IAM 角色。
如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色和 Cloud Run IAM 权限。如果您的 Cloud Run 服务与 Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限和管理访问权限。
查看服务的修订版本列表
控制台
要查看项目中的修订版本列表,请执行以下操作:
在服务列表中找到服务,然后点击该服务。
点击“修订版本”标签页,以显示该服务的当前修订版本列表。
gcloud
要查看给定服务的修订版本列表,请执行以下操作:
在项目的可用服务列表中查找您的服务名称:
gcloud run services list
使用以下命令获取刚刚查找到的服务的所有修订版本:
gcloud run revisions list --service SERVICE --region REGION
您需要进行如下替换
- 将 SERVICE 替换为您的服务名称。
- 将 REGION 替换为该服务的 Google Cloud 区域。
Cloud Code
如需查看 Cloud Code 附带的修订版本列表,请参阅适用于 IntelliJ 和 Visual Studio Code 的 Cloud Run Explorer 指南。
客户端库
如需通过代码查看修订版本列表,请使用以下客户端库:
REST API
如需查看修订版本列表,请向 Cloud Run Admin API revisions
端点发送 GET
HTTP 请求。
例如,使用 curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions
您需要进行如下替换:
- 将 ACCESS_TOKEN 替换为具有查看修订版本的 IAM 权限的账号的有效访问令牌。例如,如果您已登录 gcloud,则可以使用
gcloud auth print-access-token
检索访问令牌。在 Cloud Run 容器实例中,您可以使用容器实例元数据服务器检索访问令牌。 - 将 SERVICE-NAME 替换为相应服务的名称。
- 将 REGION 替换为该服务的 Google Cloud 区域。
- 将 PROJECT-ID 替换为 Google Cloud 项目 ID。
查看修订版本详情
控制台
要查看项目中某个修订版本的详细信息,请执行以下操作:
在服务列表中选择您的服务。
点击“修订版本”标签页,以显示该服务的当前修订版本列表。
选择您所需的服务修订版本:
检查最右侧的“详细信息”面板,以获取该修订版本专有的信息,例如已部署的容器映像的网址、已分配的内存量、环境变量,可能还有版本和源代码库信息。
gcloud
要查看项目中某个修订版本的详细信息,请执行以下操作:
在项目的可用服务列表中查找您的服务名称:
gcloud run services list
使用以下命令获取刚刚查找到的服务的所有修订版本:
gcloud run revisions list --service SERVICE --region REGION
您需要进行如下替换
- 将 SERVICE 替换为您的服务名称。
- 将 REGION 替换为该服务的 Google Cloud 区域。
使用以下命令查看有关特定修订版本的更多详细信息:
您需要进行如下替换gcloud run revisions describe REVISION --region REGION
- 将 REVISION 替换为您要详细了解的修订版本的名称。
- 将 REGION 替换为该服务的 Google Cloud 区域。
您可以使用
--format
标志来设置输出的格式。例如,作为 YAML:gcloud run revisions describe REVISION --region REGION --format yaml
Cloud Code
如需查看 Cloud Code 附带的修订版本的详细信息,请参阅适用于 IntelliJ 和 Visual Studio Code 的 Cloud Run Explorer 指南。
客户端库
如需通过代码查看修订版本的详细信息,请使用以下客户端库:
REST API
如需查看修订版本的相关详细信息,请向 Cloud Run Admin API revisions
端点发送 GET
HTTP 请求。
例如,使用 curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X GET \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME
您需要进行如下替换:
- 将 ACCESS_TOKEN 替换为具有查看服务详情的 IAM 权限的账号的有效访问令牌。例如,如果您已登录 gcloud,则可以使用
gcloud auth print-access-token
检索访问令牌。在 Cloud Run 容器实例中,您可以使用容器实例元数据服务器检索访问令牌。 - 将 SERVICE-NAME 替换为相应服务的名称。
- 将 REVISION-NAME 替换为修订版本的名称。
- 将 REGION 替换为该服务的 Google Cloud 区域。
- 将 PROJECT-ID 替换为 Google Cloud 项目 ID。
请注意,非当前修订版本可能显示为 RETIRED
状态,这意味着 Cloud Run 已停用该特定修订版本所需的基础架构。
关于“详细信息”面板中的版本和源代码库信息
如果 Artifact Analysis API 已启用并且容器是使用 Cloud Build 构建的,则“详细信息”面板中会显示版本信息。
此外,如果您使用了 Cloud Build 触发器来构建容器,则“详细信息”面板中还会显示源代码库信息。
删除修订版本
删除修订版本的一个常见使用场景是,您想要确保特定修订版本不会被意外使用。
在以下情况下,您无法删除修订版本:
- 它能够接收流量,
- 它是服务的唯一修订版本,
- 它是该服务的最新修订版本。
当您删除某个修订版本后,该修订版本使用的容器映像不会自动从 Container Registry 或 Artifact Registry 中删除。要从注册表中删除容器映像,请参阅 Container Registry 或 Artifact Registry 的删除说明。
您无法撤消修订版本删除操作。
您可以使用控制台或命令行:
控制台
要删除修订版本,请执行以下操作
在服务列表中找到服务,然后点击该服务。
点击“修订版本”标签页,以显示该服务的当前修订版本列表。
找到您要删除的服务修订版本。
点击该修订版本左侧的三点状垂直椭圆,以显示“删除”菜单。
点击删除以删除该修订版本。
gcloud
要删除修订版本,请使用以下命令:
gcloud run revisions delete REVISION --region REGION
您需要进行如下替换
- 将 REVISION 替换为您要删除的修订版本的名称。
- 将 REGION 替换为该服务的 Google Cloud 区域。
客户端库
如需通过代码删除修订版本,请使用以下客户端库:
REST API
如需删除修订版本,请向 Cloud Run Admin API revisions
端点发送 DELETE
HTTP 请求。
例如,使用 curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X DELETE \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME
您需要进行如下替换:
- 将 ACCESS_TOKEN 替换为具有删除服务的 IAM 权限的账号的有效访问令牌。例如,如果您已登录 gcloud,则可以使用
gcloud auth print-access-token
检索访问令牌。在 Cloud Run 容器实例中,您可以使用容器实例元数据服务器检索访问令牌。 - 将 SERVICE-NAME 替换为相应服务的名称。
- 将 REVISION-NAME 替换为修订版本的名称。
- 将 REGION 替换为该服务的 Google Cloud 区域。
- 将 PROJECT-ID 替换为 Google Cloud 项目 ID。
后续步骤
部署修订版本后,您可以执行以下操作: