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.
|