This page explains the Build Type for Cloud Build.
Build definition
External parameters
The following table displays the types of external parameters that may be used
in a Cloud Build build. External parameters are values that you
specify, and aren't present in your build configuration. This includes trigger
parameters that aren't in your your cloudbuild.yaml
file.
Field | Type | Details |
---|---|---|
buildConfigSource
|
object | Location from which the build configuration was read. In BuildTrigger
, this corresponds to either the source repo that
triggered the build (SCM event-triggered builds) or gitFileSource
for all other trigger types.Either buildConfigSource
OR buildConfig
(in
the case of inline build config) will be set. |
buildConfigSource.ref
|
string | Git reference within buildConfigSource.repository
from
which the configuration was read, as either a fully qualified git ref
(starting with refs/
) or a commit SHA (lowercase hex). A commit SHA
is only used if specified in the trigger. |
buildConfigSource.repository
|
string | HTTPS URI of the git repository containing the build configuration
file, with https://
protocol. This will be prefixed
with a git+
for compatibility with the SPDX
format. For more information on the format requirements, see ResourceURI
. |
buildConfigSource.path
|
string | Path to the build configuration file within the commit. Example: cloudbuild.yaml
Mutually exclusive with pathAutodetect. Exactly one of these fields must be set to a non-default value. |
buildConfigSource.pathAutoDetect
|
boolean | If true, path
was autodetected, corresponding to the
autodetect option in the BuildTrigger
. False is considered
equivalent to not set; Cloud Build uses path
instead
if autodetection was not enabled.Mutually exclusive with path
. Exactly one of these
fields MUST be set to a non-default value. |
sourceToBuild
|
object | Source code that was checked out and built. Normally this is the same
as buildConfigSource
; it only differs if the
BuildTrigger had gitFileSource
set.This field does not exist if the repository
and ref
are the same as buildConfigSource
and
the dir
is empty.In BuildTrigger, this corresponds to either sourceToBuild
or the commit that triggered the build,
depending on the trigger type. |
sourceToBuild.ref
|
string | Git reference within sourceToBuild.repository
that was
checked out, as either a fully qualified git ref (starting with refs/
) or a commit SHA (lowercase hex). A commit SHA is
only used if specified in the trigger. |
sourceToBuild.repository
|
string | HTTPS URI of the git repository that was checked out, with https://
protocol. This will be prefixed with a git+
. |
sourceToBuild.dir
|
string | Directory within the commit in which to run the build, without a trailing slash. Can be empty, unset. |
buildConfig
|
string | When an inline build config is provided, such as in a manually
submitted build, the following information is recorded. - steps - build options (e.g. environment variables, volumes, worker pool details, machineType, log details) - substitutions If the build config was read from a repository, it is recorded in the buildConfigSource
section and the inline build
config is omitted.This information is stored as a base64 encoded serialized JSON string. |
substitutions
|
map | Map of (string -> string) containing the substitutions to perform on
the Build resource. This only contains "runtime" or "independent" substitutions which are not recorded in the build config, i.e. passed in from a trigger or gcloud CLI flag. This record does not include the system-provided default substitutions as those are considered internalParameters
.Substitutions appear in this field regardless of whether they are referenced or used in the build config. |
Internal parameters
The following table displays the internal parameters that Cloud Build sets for the build, unless you overwrite them. For more information, see default substitutions .
Field | Details |
---|---|
triggerUri | Resource URI of the trigger that invoked this build, in this case the
full resource name. If the build was not triggered, this is omitted. |
systemSubstitutions | There is a subset of default substitution values
which
are automatically provided in Cloud Build builds, such as PROJECT_ID
, BUILD_ID
.If you overwrite one of the Cloud Build default substitutions, your substitutions won't be displayed here. Your values will be listed in externalParameters.substitutions
instead. |
Resolved dependencies
If the build has a source repository or a build config repository, the
repository is described in the resolvedDependencies
section of the BuildDefinition
.
ResolvedDependencies
conform to the ResourceDescriptor
specification
.
Dependency type |
Details |
---|---|
Build config repository |
The repo that the build config (i.e. the cloudbuild.yaml
) was
pulled from, in the case of triggered builds.This may be empty in the case of a build config which was not read from a repo and is provided inline, in which case it will be omitted. |
Source repository |
The repo that the source code to build was pulled from. It could be the same as buildConfigSource
, or different. If the same as buildConfigSource
, the sourceToBuild
is omitted, for
example, in SCM-triggered builds.The sourceToBuild
may be empty if the build is run via –no-source
, and will be omitted. |
For example, the following resolvedDependencies
info contains both a
buildConfigRepo and sourceRepo (which are the same), and a build step image.
"resolvedDependencies": [
{
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"}
}, {
"uri": "gcr.io/cloud-builders/git",
"digest": {
"sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bba7158df"}
}
]
RunDetails
Field | Details |
---|---|
builder | Contains an id
subfield that identifies the build platform that
executed the operation and populated this provenance. This also contains
the SLSA level. The expected id
value is https://cloudbuild.googleapis.com/GoogleHostedWorker
. |
metadata | Additional metadata about this particular execution of the build.
The invocationId
displays the URL of the build, such as https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID
.The startedOn
and finishedOn
fields
contain the timestamps for when the build started and completed. |
byproducts | Not in use yet. Designed to contain additional artifacts that are not considered the output of the build, but might be useful for troubleshooting or incident response. |
systemSubstitutions | There is a subset of default substitution values
which
are automatically provided in Cloud Build builds, such as PROJECT_ID
, BUILD_ID
.If you overwrite one of the Cloud Build default substitutions, your substitutions won't be displayed here. Your values will be listed in externalParameters.substitutions
instead. |