Build 类型:Cloud Build v1 build

本页介绍了 Cloud Build 的构建类型

build 定义

外部参数

下表显示了可以使用的外部参数类型 构建容器外部参数是您指定的值,不存在于 build 配置中。这包括 cloudbuild.yaml 文件中未包含的参数。

字段 类型 详细信息
buildConfigSource 对象 从中读取 build 配置的位置。

BuildTrigger 中,这对应于触发构建的源代码库(SCM 事件触发的构建),对于所有其他触发器类型,则对应于 gitFileSource

buildConfigSourcebuildConfig(在 。
buildConfigSource.ref 字符串 buildConfigSource.repository 中用于读取配置的 Git 引用,可以是完全限定的 git 引用(以 refs/ 开头)或提交 SHA(小写十六进制值)。提交 SHA 只有在触发器中指定时才可使用。
buildConfigSource.repository 字符串 包含 build 配置的 Git 代码库的 HTTPS URI 使用 https:// 协议。此字段将带有 git+ 前缀,以便与 SPDX 格式兼容。如需详细了解格式要求,请参阅 ResourceURI
buildConfigSource.path 字符串 提交中 build 配置文件的路径。示例: cloudbuild.yaml

与 pathAutodetect 相互排斥。其中必须有一个字段设置为非默认值。
buildConfigSource.pathAutoDetect 布尔值 如果为 true,则表示系统自动检测到了 path,这与 BuildTrigger 中的 autodetect 选项相对应。False 被视为未设置;如果未启用自动检测,Cloud Build 会改用 path

它与 path 相互排斥。仅其中一个 字段必须设置为非默认值。
sourceToBuild 对象 检出和构建的源代码。通常 为 buildConfigSource;只有在 BuildTrigger 设置了 gitFileSource

如果 repositoryrefbuildConfigSource 相同且 dir 为空,则此字段不存在。

在 BuildTrigger 中,此字段对应于 sourceToBuild 或触发 build 的提交,具体取决于触发器类型。
sourceToBuild.ref 字符串 sourceToBuild.repository 中的 Git 引用, 作为完全限定的 git ref(以 refs/)或提交 SHA(小写十六进制数字)。提交 SHA 为 仅在触发器中指定时才使用。
sourceToBuild.repository 字符串 已检出的 Git 代码库的 HTTPS URI,其中包含 https:// 协议。该前缀将带有一个前缀 git+
sourceToBuild.dir 字符串 用于运行 build 的提交中的目录,其中不包含 尾随斜杠。可以为空,但不设置。
buildConfig 字符串 如果提供了内嵌构建配置(例如在 提交 build 时,系统会记录以下信息。

- 步骤
- 构建选项(例如环境变量、卷、工作器池详细信息、machineType、日志详细信息)
- 替换项

如果从代码库读取了 build 配置,则会将其记录在 buildConfigSource 部分,并省略内嵌 build 配置。

此信息以 base64 编码的序列化 JSON 字符串形式存储。
substitutions map<string,string></string,string> (string -> 字符串) 映射,其中包含要执行的替换 Build 资源。

此字段仅包含未记录在 build 配置中的“运行时”或“独立”替换项,即从触发器或 gcloud CLI 标志传入的替换项。

此记录不包含系统提供的默认替换项,因为它们 已考虑 internalParameters

无论替换项是否在 build 配置中被引用或使用,都会显示在此字段中。

内部参数

下表显示了 Cloud Build 的 设置,除非您覆盖它们。如需了解详情,请参阅 默认替代变量

字段 详细信息
triggerUri 调用此构建的触发器的资源 URI,在本例中为 完整资源名称。

如果未触发构建,则省略此字段。
systemSubstitutions Cloud Build build 中会自动提供一组默认替换值,例如 PROJECT_IDBUILD_ID

如果您覆盖了 Cloud Build 的某个默认替换项,您的替换项将不会显示在此处。您的值将改为列在 externalParameters.substitutions 中。

解析的依赖项

如果 build 具有源代码库或 build 配置库,BuildDefinitionresolvedDependencies 部分会对该库进行说明。

ResolvedDependencies 符合 ResourceDescriptor 规范


依赖项类型

详细信息

构建配置代码库

对于触发的 build,是从中提取 build 配置(即 cloudbuild.yaml)的代码库。


如果 build 配置不是从代码库读取的,而是内嵌提供的,则此字段可能为空,在这种情况下,系统会将其省略。

源代码库

要构建的源代码的来源代码库。它可以与 buildConfigSource 或其他值。如果与 buildConfigSource 相同,则省略 sourceToBuild,例如在 SCM 触发的 build 中。

如果通过以下方式运行 build,sourceToBuild 可能为空 –no-source,将被省略。

例如,以下 resolvedDependencies 信息包含 buildConfigRepo 和 sourceRepo(二者相同),以及 build 步骤映像。

"resolvedDependencies": [
{
    "uri": "git+https://github.com/octocat/hello-world.git",
    "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"}
}, {
    "uri": "gcr.io/cloud-builders/git",
    "digest": {
        "sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bba7158df"}
    }
]

RunDetails

字段 详细信息
构建器 包含 id 子字段,用于标识 执行操作并填充此出处。这还包含 SLSA 级别预期的 id 值为 https://cloudbuild.googleapis.com/GoogleHostedWorker
元数据 有关此特定 build 执行的其他元数据。 invocationId 会显示 build 的网址,例如 https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID
startedOnfinishedOn 字段包含构建开始和完成的时间戳。
副产品 尚未使用。旨在包含 未被视为构建输出,但 有助于排查问题或响应突发事件。
systemSubstitutions 存在一部分默认替换值, Cloud Build 构建中会自动提供 PROJECT_IDBUILD_ID

如果您覆盖其中一个 Cloud Build 默认替代变量, 替换信息不会显示在此处。您的值将改为列在 externalParameters.substitutions 中。