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