Auf dieser Seite wird der Build-Typ für Cloud Build erläutert.
Build-Definition
Externe Parameter
Die folgende Tabelle enthält die Typen externer Parameter, die in einem Cloud Build-Build verwendet werden können. Externe Parameter sind von Ihnen festgelegte Werte, die in Ihrer Build-Konfiguration nicht vorhanden sind. Dazu gehören auch Triggerparameter, die sich nicht in der cloudbuild.yaml
-Datei befinden.
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 (durch SCM-Ereignisse ausgelöste Builds), oder gitFileSource für alle anderen Triggertypen.Entweder buildConfigSource ODER buildConfig (bei einer Inline-Build-Konfiguration) wird festgelegt. |
buildConfigSource.ref | String | Git-Referenz in buildConfigSource.repository , aus der die Konfiguration gelesen wurde, entweder als voll qualifizierte Git-Referenz (beginnend mit refs/ ) oder als Commit-SHA (Hexadezimalwert in Kleinbuchstaben). Ein Commit-SHA wird nur verwendet, wenn es im Trigger angegeben ist. |
buildConfigSource.repository | String | HTTPS-URI des Git-Repositorys, das die Build-Konfigurationsdatei mit dem Protokoll https:// enthält. Dieser wird das Präfix git+ vorangestellt, um die Kompatibilität mit dem SPDX-Format zu gewährleisten. Weitere Informationen zu den Formatanforderungen finden Sie unter ResourceURI. |
buildConfigSource.path | String | Pfad zur Build-Konfigurationsdatei innerhalb des Commits. Beispiel:
cloudbuild.yaml Sich gegenseitig ausschließend mit pathAutodetect. Genau eines dieser Felder muss auf einen anderen Wert als den Standardwert festgelegt sein. |
buildConfigSource.pathAutoDetect | boolean | Wenn „true“ festgelegt ist, wurde path automatisch erkannt, was der Option für die automatische Erkennung im BuildTrigger entspricht. „False“ wird als nicht festgelegt angesehen. Cloud Build verwendet stattdessen path , wenn die automatische Erkennung nicht aktiviert war.Sich gegenseitig ausschließend mit path Genau eines dieser Felder MUSS auf einen anderen Wert als den Standardwert gesetzt sein. |
sourceToBuild | Objekt | Quellcode, der ausgecheckt und erstellt wurde. Normalerweise entspricht dies buildConfigSource ; unterscheidet sich nur, wenn für den BuildTrigger gitFileSource festgelegt war.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, der den Build ausgelöst hat. |
sourceToBuild.ref | String | Git-Referenz in sourceToBuild.repository , die ausgecheckt wurde, entweder als voll qualifizierte Git-Referenz (beginnend mit refs/ ) oder als Commit-SHA (Hexadezimalwert in Kleinbuchstaben). Ein Commit-SHA wird nur verwendet, wenn es im Trigger angegeben ist. |
sourceToBuild.repository | String | HTTPS-URI des Git-Repositorys, das ausgecheckt wurde, mit dem Protokoll https:// . Dabei wird das Präfix git+ vorangestellt. |
sourceToBuild.dir | String | Verzeichnis innerhalb des Commits, in dem der Build ausgeführt werden soll, ohne abschließenden Schrägstrich. Kann leer oder nicht konfiguriert sein. |
buildConfig | String | Wenn eine Inline-Build-Konfiguration bereitgestellt wird, z. B. in einem manuell gesendeten Build, werden die folgenden Informationen aufgezeichnet. – Schritte – Build-Optionen (z.B. Umgebungsvariablen, Volumes, Details zum Worker-Pool, Maschinentyp, Logdetails) – Substitutionen Wenn die Build-Konfiguration aus einem Repository gelesen wurde, wird sie im Abschnitt buildConfigSource aufgezeichnet und die Inline-Build-Konfiguration weggelassen.Diese Informationen werden als base64-codierter serieller JSON-String gespeichert. |
Substitutionen | Map<string,string></string,string> | Zuordnung von (String -> String), die die Substitutionen enthält, die für die Build-Ressource ausgeführt werden sollen. Dies enthält nur „Laufzeit“- oder „unabhängige“ Substitutionen, die nicht in der Build-Konfiguration aufgezeichnet, also von einem Trigger oder gcloud CLI-Flag übergeben werden. In diesem Eintrag sind die vom System bereitgestellten Standardersetzungen nicht enthalten, da diese als internalParameters gelten.Substitutionen werden in diesem Feld unabhängig davon angezeigt, ob sie in der Build-Konfiguration referenziert oder verwendet werden. |
Interne Parameter
Die folgende Tabelle enthält die internen Parameter, die Cloud Build für den Build festlegt, sofern Sie sie nicht überschreiben. Weitere Informationen finden Sie unter Standardersetzungen.
Feld | Details |
---|---|
triggerUri | Ressourcen-URI des Triggers, der diesen Build aufgerufen hat, in diesem Fall der vollständige Ressourcenname. Wenn der Build nicht ausgelöst wurde, wird dies weggelassen. |
systemSubstitutions | Es gibt eine Teilmenge der Standardersetzungswerte, die in Cloud Build-Builds automatisch bereitgestellt werden, z. B. PROJECT_ID und BUILD_ID .Wenn Sie eine der Cloud Build-Standardersetzungen überschreiben, werden die Substitutionen hier nicht angezeigt. Ihre Werte werden stattdessen in externalParameters.substitutions aufgeführt.
|
Aufgelöste Abhängigkeiten
Wenn der Build ein Quell-Repository oder ein Build-Konfigurations-Repository hat, wird das Repository im Abschnitt resolvedDependencies
der BuildDefinition
beschrieben.
ResolvedDependencies
entsprechen der Spezifikation ResourceDescriptor
.
Abhängigkeitstyp |
Details |
---|---|
Konfigurations-Repository erstellen |
Für ausgelöste Builds das Repository, aus dem die Build-Konfiguration abgerufen wurde (d.h. das cloudbuild.yaml ).Dies kann bei einer Build-Konfiguration leer sein, die nicht aus einem Repository gelesen wurde und inline bereitgestellt wird. In diesem Fall wird sie weggelassen. |
Quell-Repository |
Das Repository, aus dem der zu erstellende Quellcode abgerufen wurde. Er kann mit buildConfigSource identisch oder unterschiedlich sein. Ist sie identisch mit buildConfigSource , wird sourceToBuild weggelassen, beispielsweise in von SCM ausgelösten Builds.
sourceToBuild kann leer sein, wenn der Build über –no-source ausgeführt wird, und wird weggelassen. |
Die folgenden resolvedDependencies
-Informationen enthalten beispielsweise sowohl ein BuildConfigRepo als auch sourceRepo (die identisch sind) sowie ein Image für den Build-Schritt.
"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 das Unterfeld id , das die Build-Plattform identifiziert, die den Vorgang ausgeführt und diese Herkunft gefüllt hat. Hier ist auch die SLSA-Ebene enthalten. Der erwartete Wert für id ist https://cloudbuild.googleapis.com/GoogleHostedWorker . |
Metadaten | Zusätzliche Metadaten zu dieser speziellen Ausführung des Builds.
invocationId zeigt die URL des Builds an, 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 Start und den Abschluss des Builds.
|
Nebenprodukte | Wird noch nicht verwendet. Enthält zusätzliche Artefakte, die nicht als Ausgabe des Builds betrachtet werden, aber für die Fehlerbehebung oder Reaktion auf Vorfälle nützlich sein können. |
systemSubstitutions | Es gibt eine Teilmenge der Standardersetzungswerte, die in Cloud Build-Builds automatisch bereitgestellt werden, z. B. PROJECT_ID und BUILD_ID .Wenn Sie eine der Cloud Build-Standardersetzungen überschreiben, werden die Substitutionen hier nicht angezeigt. Ihre Werte werden stattdessen in externalParameters.substitutions aufgeführt.
|