Build-Typ: Cloud Build v1-Build

Auf dieser Seite wird der Build-Typ für Cloud Build erläutert.

Build-Definition

Externe Parameter

In der folgenden Tabelle sind die Arten von externen Parametern aufgeführt, die in einem Cloud Build-Build verwendet werden können. Externe Parameter sind Werte, die Sie angeben und die nicht in Ihrer Build-Konfiguration enthalten sind. Dazu gehören auch Triggerparameter, die nicht in Ihrer cloudbuild.yaml-Datei enthalten sind.

Feld Typ Details
buildConfigSource Objekt Speicherort, von dem die Build-Konfiguration gelesen wurde.

In BuildTrigger entspricht dies entweder dem Quell-Repository, das den Build ausgelöst hat (SCM-ereignisgetriggerte Builds), oder gitFileSource für alle anderen Triggertypen.

Entweder buildConfigSource ODER buildConfig (bei Inline-Build-Konfiguration) wird festgelegt.
buildConfigSource.ref String Git-Referenz in buildConfigSource.repository, aus der die Konfiguration gelesen wurde, entweder als vollständig qualifizierte Git-Referenz (beginnend mit refs/) oder als Commit-SHA (hexadezimal in Kleinbuchstaben). Eine SHA-Commit-ID wird nur verwendet, wenn sie im Trigger angegeben ist.
buildConfigSource.repository String HTTPS-URI des Git-Repositories mit der Build-Konfigurationsdatei mit https://-Protokoll. Aus Gründen der Kompatibilität mit dem SPDX-Format wird diesem Präfix git+ vorangestellt. Weitere Informationen zu den Formatanforderungen finden Sie unter ResourceURI.
buildConfigSource.path String Pfad zur Build-Konfigurationsdatei im Commit. Beispiel: cloudbuild.yaml

Schließt sich mit „pathAutodetect“ aus. Genau eines dieser Felder muss auf einen anderen Wert als den Standardwert festgelegt werden.
buildConfigSource.pathAutoDetect boolean Wenn dieser Wert „wahr“ ist, wurde path automatisch erkannt, was der Option „autodetect“ in der BuildTrigger entspricht. „False“ (falsch) gilt als „nicht festgelegt“. Wenn die automatische Erkennung nicht aktiviert wurde, verwendet Cloud Build stattdessen path.

Schließt sich mit path gegenseitig aus. Genau eines dieser Felder MUSS auf einen anderen Wert als den Standardwert festgelegt sein.
sourceToBuild Objekt Quellcode, der ausgecheckt und erstellt wurde. Normalerweise entspricht dieser Wert buildConfigSource. Er unterscheidet sich nur, wenn für den BuildTrigger gitFileSource festgelegt wurde.

Dieses Feld ist nicht vorhanden, wenn repository und ref mit buildConfigSource übereinstimmen und dir leer ist.

In BuildTrigger entspricht dies je nach Triggertyp entweder sourceToBuild oder dem Commit, das den Build ausgelöst hat.
sourceToBuild.ref String Git-Referenz in sourceToBuild.repository, die auscheckt wurde, entweder als vollständig qualifizierte Git-Referenz (beginnend mit refs/) oder als Commit-SHA (hexadezimal in Kleinbuchstaben). Eine SHA-Commit-ID wird nur verwendet, wenn sie im Trigger angegeben ist.
sourceToBuild.repository String HTTPS-URI des Git-Repositorys, das auscheckt wurde, mit https://-Protokoll. Dieser wird mit einem git+ vorangestellt.
sourceToBuild.dir String Verzeichnis innerhalb des Commits, in dem der Build ausgeführt werden soll, ohne abschließenden Schrägstrich. Kann leer sein.
buildConfig String Wenn eine Inline-Build-Konfiguration angegeben ist, z. B. bei einem manuell eingereichten Build, werden die folgenden Informationen erfasst.

– Schritte
– Build-Optionen (z.B. Umgebungsvariablen, Volumes, Worker-Pool-Details, machineType, Protokolldetails)
– Substitutionen

Wenn die Build-Konfiguration aus einem Repository gelesen wurde, wird sie im Abschnitt buildConfigSource aufgezeichnet und die Inline-Build-Konfiguration wird weggelassen.

Diese Informationen werden als base64-codierter serialisierter JSON-String gespeichert.
Substitutionen map<string,string></string,string> Eine Zuordnung vom Typ „String -> String“, die die Ersetzungen enthält, die an der Build-Ressource vorgenommen werden sollen.

Dieser enthält nur „Laufzeit-“ oder „unabhängige“ Ersetzungen, die nicht in der Build-Konfiguration aufgezeichnet sind, d.h. über einen Trigger oder ein gcloud-CLI-Flag übergeben werden.

Dieser Eintrag enthält keine vom System bereitgestellten Standardersetzungen, da diese als internalParameters betrachtet werden.

Ersetzungen werden in diesem Feld angezeigt, unabhängig davon, ob sie in der Build-Konfiguration referenziert oder verwendet werden.

Interne Parameter

In der folgenden Tabelle sind die internen Parameter aufgeführt, die Cloud Build für den Build festlegt, sofern Sie sie nicht überschreiben. Weitere Informationen finden Sie unter Standardersetzungen.

Feld Details
triggerUri Der Ressourcen-URI des Triggers, der diesen Build aufgerufen hat, in diesem Fall der vollständige Ressourcenname.

Wenn der Build nicht ausgelöst wurde, wird dieser Teil weggelassen.
systemSubstitutions Es gibt eine Reihe von Standardsubstitutionswerten, die in Cloud Build-Builds automatisch bereitgestellt werden, z. B. PROJECT_ID und BUILD_ID.

Wenn Sie eine der Standardsubstitutionen von Cloud Build überschreiben, werden Ihre Substitutionen hier nicht angezeigt. Ihre Werte werden stattdessen in externalParameters.substitutions aufgeführt.

Behobene Abhängigkeiten

Wenn der Build ein Quell- oder Build-Konfigurations-Repository hat, wird das Repository im Abschnitt resolvedDependencies des BuildDefinition beschrieben.

ResolvedDependencies der ResourceDescriptor-Spezifikation entsprechen.


Abhängigkeitstyp

Details

Build-Konfigurations-Repository

Repository, aus dem die Build-Konfiguration (d.h. die cloudbuild.yaml) bei ausgelösten Builds abgerufen wurde.


Dieses Feld kann leer sein, wenn die Build-Konfiguration nicht aus einem Repository gelesen, sondern inline bereitgestellt wurde. In diesem Fall wird es weggelassen.

Quell-Repository

Das Repository, aus dem der Quellcode zum Erstellen abgerufen wurde. Sie kann mit buildConfigSource identisch sein oder sich davon unterscheiden. Wenn sourceToBuild mit buildConfigSource identisch ist, wird es weggelassen, z. B. bei SCM-ausgelösten Builds.

sourceToBuild kann leer sein, wenn der Build über –no-source ausgeführt wird, und wird dann weggelassen.

Die folgenden resolvedDependencies-Informationen enthalten beispielsweise sowohl ein buildConfigRepo als auch ein sourceRepo (die identisch sind) und ein Buildschritt-Image.

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

RunDetails

Feld Details
Builder Enthält ein untergeordnetes Feld id, das die Build-Plattform angibt, auf der der Vorgang ausgeführt und diese Provenienz erfasst wurde. Außerdem enthält sie die SLSA-Ebene. Der erwartete id-Wert ist https://cloudbuild.googleapis.com/GoogleHostedWorker.
Metadaten Zusätzliche Metadaten zu dieser bestimmten Ausführung des Builds. Unter invocationId wird die URL des Builds angezeigt, z. B. https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID.
 Die Felder startedOn und finishedOn enthalten die Zeitstempel für den Beginn und das Ende des Builds.
Nebenprodukte Noch nicht verwendet. Enthält zusätzliche Artefakte, die nicht als Build-Ausgabe betrachtet werden, aber für die Fehlerbehebung oder Reaktion auf Vorfälle nützlich sein können.
systemSubstitutions Es gibt eine Reihe von Standardsubstitutionswerten, die in Cloud Build-Builds automatisch bereitgestellt werden, z. B. PROJECT_ID und BUILD_ID.

Wenn Sie eine der Standardsubstitutionen von Cloud Build überschreiben, werden Ihre Substitutionen hier nicht angezeigt. Ihre Werte werden stattdessen in externalParameters.substitutions aufgeführt.