本页介绍了 Cloud Build 的构建类型。
build 定义
外部参数
下表显示了可以使用的外部参数类型
构建容器外部参数是您指定的值,不存在于 build 配置中。这包括
cloudbuild.yaml
文件中未包含的参数。
字段 | 类型 | 详细信息 |
---|---|---|
buildConfigSource | 对象 | 从中读取 build 配置的位置。 在 BuildTrigger 中,这对应于触发构建的源代码库(SCM 事件触发的构建),对于所有其他触发器类型,则对应于 gitFileSource 。buildConfigSource 或 buildConfig (在
。 |
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 。如果 repository 和 ref 与 buildConfigSource 相同且 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_ID 、BUILD_ID 。如果您覆盖了 Cloud Build 的某个默认替换项,您的替换项将不会显示在此处。您的值将改为列在 externalParameters.substitutions 中。 |
解析的依赖项
如果 build 具有源代码库或 build 配置库,BuildDefinition
的 resolvedDependencies
部分会对该库进行说明。
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 。
startedOn 和 finishedOn 字段包含构建开始和完成的时间戳。
|
副产品 | 尚未使用。旨在包含 未被视为构建输出,但 有助于排查问题或响应突发事件。 |
systemSubstitutions | 存在一部分默认替换值,
Cloud Build 构建中会自动提供
PROJECT_ID 、BUILD_ID 。如果您覆盖其中一个 Cloud Build 默认替代变量, 替换信息不会显示在此处。您的值将改为列在 externalParameters.substitutions 中。 |