REST Resource: projects.locations.backends.builds

资源:Build

在特定时间点代码库引用标记和时间点针对后端的单个 build。封装多个资源,包括 Artifact Registry 容器映像、构建该映像的 Cloud Build 调用以及使用该映像的 Cloud Run 修订版本。

JSON 表示法
{
  "name": string,
  "displayName": string,
  "state": enum (State),
  "error": {
    object (Status)
  },
  "environment": string,
  "config": {
    object (Config)
  },
  "image": string,
  "source": {
    object (BuildSource)
  },
  "buildLogsUri": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string
}
字段
name

string

标识符。build 的资源名称。

格式:

projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}

displayName

string

可选。人类可读的名称。上限为 63 个字符。

state

enum (State)

仅限输出。build 的状态。

error

object (Status)

仅限输出。build 的状态和(人类可读的)错误消息(如果处于 FAILED 状态)。

environment

string

仅限输出。创建此构建时后端的环境名称。

config

object (Config)

可选。服务的其他配置。

image

string

仅限输出。Artifact Registry 容器映像 URI,由 Cloud Run revision 用于此 build。

source

object (BuildSource)

必需。不可变。build 的源代码。

buildLogsUri

string

仅限输出。构建流程的 Cloud Build 日志的位置。

reconciling

boolean

仅限输出。一个字段,如果为 true,则表示 build 具有正在进行的 LRO。

createTime

string (Timestamp format)

仅限输出。构建创建的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

仅限输出。上次更新构建的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deleteTime

string (Timestamp format)

仅限输出。删除构建的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

labels

map (key: string, value: string)

可选。可用于对对象进行整理和分类的非结构化键值对映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

可选。非结构化键值对映射,可由外部工具设置,用于存储和任意元数据。它们不可查询,在修改对象时应保留。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

仅限输出。系统分配的唯一标识符。

etag

string

仅限输出。服务器基于其他值计算的校验和;更新或删除时发送,以确保对预期资源完成操作。

状态

build 的状态。

枚举
STATE_UNSPECIFIED build 处于未知状态。
BUILDING 作品要建造,
BUILT 构建已完成,正在等待下一步。在 App Hosting 开始设置基础架构后,这可能会转到“部署”。
DEPLOYING 正在设置此构建的基础架构。
READY 此构建的基础架构已准备就绪。该 build 不一定正在处理流量。请参阅 Backend.traffic 了解当前状态,或参阅 Backend.traffic_statuses 了解所需状态。
FAILED 构建失败。

配置

此构建后端的其他配置。

JSON 表示法
{
  "runConfig": {
    object (RunConfig)
  }
}
字段
runConfig

object (RunConfig)

可选。Cloud Run service 的其他配置。

RunConfig

要应用于 Cloud Run service 的其他配置。

JSON 表示法
{
  "cpu": number,
  "memoryMib": integer,
  "concurrency": integer,
  "maxInstances": integer,
  "minInstances": integer
}
字段
cpu

number

可选。每个服务实例使用的 CPU 数量。

默认情况下,CPU 默认为 Cloud Run 的默认值 1.0。

CPU 可设置为 1、2、4、6 或 8 个 CPU;如果 CPU 数少于 1 个,则从 0.08 到小于 1.00 的值(以 0.01 为增量)。

如果您设置的 CPU 值小于 1,则必须将并发数设置为 1,并且仅在请求处理期间才会分配 CPU。

提高 CPU 限制可能需要提高内存限制:

  • 4 个 CPU:至少 2 GiB
  • 6 个 CPU:至少 4 GiB
  • 8 个 CPU:至少 4 GiB
memoryMib

integer

可选。为每个服务实例分配的内存量(以 MiB 为单位)。

默认情况下,内存默认为 Cloud Run 的默认内存,其中每个实例会分配 512 MiB 的内存。

内存可以设置为 128 到 32768 之间的任何整数值。

提高内存限制可能需要提高 CPU 限制:

  • 超过 4 GiB:至少 2 个 CPU
  • 超过 8 GiB:至少 4 个 CPU
  • 超过 16 GiB:至少 6 个 CPU
  • 超过 24 GiB:至少 8 个 CPU
concurrency

integer

可选。每个 Cloud Run 实例可以接收的请求数上限。

默认情况下,每个实例可以同时接收 Cloud Run 默认同时接收最多 80 个请求。

并发可以设置为不超过 1,000 的任意整数值。

maxInstances

integer

可选。要为每个修订版本维护的 Cloud Run 实例数量上限。

默认情况下,每个 Cloud Run service 都会扩容为 Cloud Run 默认设置(即最多 100 个实例)。实例数上限取决于您的配额。请参阅 https://cloud.google.com/run/docs/configurations/max-instances#limits

minInstances

integer

可选。为每个 Cloud Run 服务至少维护的 Cloud Run 实例数。

默认情况下,没有最低限制。

即使服务将流量拆分到多个修订版本,服务的实例总数也不会超过此值。

BuildSource

build 的源代码。

JSON 表示法
{

  // Union field source can be only one of the following:
  "codebase": {
    object (CodebaseSource)
  },
  "container": {
    object (ContainerSource)
  }
  // End of list of possible types for union field source.
}
字段
联合字段 source。构建的输入源。通常引用源代码库中的提交内容。还可以引用容器映像。source 只能是下列其中一项:
codebase

object (CodebaseSource)

代码库源代码。

container

object (ContainerSource)

一个 Artifact Registry 容器映像来源。

代码库源代码

代码库源代码,表示将创建 build 的代码库的状态。

JSON 表示法
{
  "displayName": string,
  "hash": string,
  "commitMessage": string,
  "uri": string,
  "author": {
    object (UserMetadata)
  },
  "commitTime": string,

  // Union field reference can be only one of the following:
  "branch": string,
  "commit": string
  // End of list of possible types for union field reference.
}
字段
displayName

string

仅限输出。显示 build 时,用于此代码库的直观易懂的名称。对于 GitHub.com,我们使用 SHA-1 哈希的前 8 个字符。

hash

string

仅限输出。Git 提交的完整 SHA-1 哈希值(如果有)。

commitMessage

string

仅限输出。代码库更改的消息。

uri

string

仅限输出。指向托管服务提供商网站上的代码库的 URI。如果提交的内容已重新基于链接的代码库,或被强制移出链接的代码库,则可能无效。

author

object (UserMetadata)

仅限输出。版本控制更改的元数据中包含的作者。

commitTime

string (Timestamp format)

仅限输出。进行更改的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

联合字段 reference

reference 只能是下列其中一项:

branch

string

代码库中使用最新提交构建的分支。

commit

string

代码库中进行构建时所依据的提交。

UserMetadata

与解析的代码库相关联的用户的版本控制元数据。目前假定使用 Git 用户。

JSON 表示法
{
  "displayName": string,
  "email": string,
  "imageUri": string
}
字段
displayName

string

仅限输出。“名称”字段。这是 Git 所必需的。

email

string

仅限输出。“电子邮件”字段(如果有)。

imageUri

string

仅限输出。外部源代码控制提供程序中与用户账号关联的图片文件的 URI(如果有)。

ContainerSource

用作 build 源的 Artifact Registry 容器映像的 URI。

JSON 表示法
{
  "image": string
}
字段
image

string

必需。表示供后端使用的容器的 URI。

方法

create

为后端创建新构建。

delete

删除单个构建。

get

获取有关构建的信息。

list

列出给定项目、位置和后端中的构建。