Build-Typ: Google Builder

Auf dieser Seite wird die Definition des SLSA v1.0-Buildtyps für den Google-Builder erläutert.

Externe Parameter

In der folgenden Tabelle sind die Arten von externen Parametern aufgeführt, die in einer Definition für Workflow PipelineRun und Workflow TaskRun verwendet werden können. Sofern nicht anders angegeben, sind alle Parameter erforderlich.

Feld Typ Details

runSpec

Objekt

Die vollständige PipelineRun-Spezifikation.

buildConfigSource

Objekt

Die vollständige buildConfigSource-Spezifikation.

PipelineRun-Spezifikation

Feld Typ Details

pipelineRef/taskRef

Objekt

Von wo aus pipelineSpec/taskSpec gelesen wurde.

Dieses Feld wird nur ausgefüllt, wenn auf die Pipeline-Spezifikation von einer Remotequelle verwiesen wurde.

Standardwert: null

pipelineSpec/taskSpec

Objekt

Eingebettete Pipeline-/Aufgabenspezifikation, die nicht mit pipelineRef/taskRef aus einer Remote-Quelle abgerufen wird.

[Optional].

params

[object]

Zuordnung von Parameternamen und Werten, die an die Pipeline übergeben werden. Werte können Strings, Arrays oder Objekte sein.

Standardwert: null

Hinweis: Bei einem ausgelösten Workflow enthält dieses Feld neben den vom Nutzer in der Workflowdefinition konfigurierten Parametern auch einige Parameter, die vom Cloud Build-Triggersystem bereitgestellt werden.

Arbeitsbereiche

[object]

„Workspaces“ enthält eine Reihe von Arbeitsbereichsbindungen, deren Namen mit den in der Pipeline deklarierten Namen übereinstimmen müssen.

Standardwert: null

timeouts/timeout

Objekt

Zeit, nach der die Pipeline das Zeitlimit überschreitet. Zeitlimits können für Pipeline, Tasks und Finally definiert werden. Sie sind durch die Formel miteinander verknüpft: Timeouts.pipeline Timeouts.tasks + Timeouts.finally.

buildConfigSource-Spezifikation

Feld Typ Details

Ref

Objekt

folgende Arten von Werten sind möglich:

  • Die Git-Referenz. Beispiel: SHA-Commit-ID: sha1:563f0...
  • Der Image-Digest. Beispiel: sha256:91fbe...

Repository

String

Der URI des Git-Repositorys oder des Image-Repositorys

Pfad

String

Der Pfad im Git-Repository oder der Ressourcenname im Image-Bundle.

Interne Parameter

Die internen Parameter werden vom Builder für den Build-Prozess bereitgestellt.

Feld Typ Details
tekton-pipelines-feature-flags Objekt Tekton-Konfigurations-Funktionsflags, die für den Build verwendet werden. Sie werden vom Builder konfiguriert und sind für die Reproduzierbarkeit nützlich.
systemParameters Objekt Eine Liste von Name-Wert-Paaren für Standardsystemsubstitutionen, die von GCB bereitgestellt werden.

Behobene Abhängigkeiten

Das Feld resolvedDependencies muss Einträge enthalten, die die aufgelöste Referenz für externalParameters.configRef identifizieren. Dies ist die Referenz auf die Pipeline im Fall einer PipelineRun-Spezifikation oder die Referenz auf die Aufgabe im Fall einer TaskRun-Spezifikation.

Die aufgelösten Abhängigkeiten können zusätzliche Artefakte enthalten, die Eingaben für den Build sind. Der Typ des Artefakts wird im Feld name angegeben:

  • Verwenden Sie für Remote-Pipelines name: pipeline.
  • Verwenden Sie für Remote-Aufgaben name: pipelineTask.
  • Bei einem aufgelösten Verweis auf einen Schritt oder ein Sidecar-Container-Image ist das Feld name optional. Im Fall des Felds digest muss der Bild-Digest angegeben werden, auch wenn das Bild durch ein Tag referenziert wird.
  • Verwenden Sie für andere Eingabeartefakte, die für den Build verwendet werden, z. B. Quellcode, name: inputs/result. Für die Ergebnisse der Aufgabe wird eine Typhinweis verwendet.

Das folgende Beispiel enthält Informationen zu allen Arten von behobenen Abhängigkeiten:

"resolvedDependencies": [
  {
    "name": "pipeline",
    "uri": "git+https://github.com/octocat/hello-world.git",
    "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  },
  {
  "name": "pipelineTask",
  "uri": "git+https://github.com/octocat/hello-world.git",
  "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  },
  {
  "uri": "gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init",
  "digest": {
    "sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bbac90380cd7158df"},
  },
  {
  "name": "inputs/result",
  "uri": "git+https://github.com/octocat/hello-world.git",
  "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  }
]

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 Wert für id ist einer der folgenden:
  • https://cloudbuild.googleapis.com/GoogleBuilder. Diese Builder-ID gibt einen SLSA-L2-Build an.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder. Diese Builder-ID gibt einen SLSA-L3-Build an.
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/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
 Die Felder startedOn und finishedOn enthalten die Zeitstempel für den Beginn und das Ende des Builds.
Nebenprodukte Ein results-Objekt.
Enthält die vom PipelineRun generierten TaskRunResults. Der Inhalt ist in Base64 codiert.