Tipo di build: Google Builder

Questa pagina spiega la definizione del tipo di build SLSA 1.0 per Google Builder.

Parametri esterni

La tabella seguente mostra i tipi di parametri esterni che possono essere utilizzati in una definizione di Workflow PipelineRun e Workflow TaskRun. Se non diversamente indicato, tutti i parametri sono obbligatori.

Campo Tipo Dettagli

runSpec

oggetto

La specifica PipelineRun completa.

buildConfigSource

oggetto

La specifica buildConfigSource completa.

Specifica di PipelineRun

Campo Tipo Dettagli

pipelineRef/taskRef

oggetto

Da dove è stato letto pipelineSpec/taskSpec.

Questo campo viene compilato solo se è stato fatto riferimento a pipelineSpec da un'origine remota.

Valore predefinito: null

pipelineSpec/taskSpec

oggetto

Specifiche della pipeline/dell'attività in linea, non recuperate da un'origine remota utilizzando pipelineRef/taskRef.

[Facoltativo].

params

[object]

Mappa dei nomi e dei valori dei parametri forniti a Pipeline. I valori possono essere di tipo stringa, array o oggetto.

Valore predefinito: null

Nota: in caso di flusso di lavoro attivato, questo campo conterrà anche alcuni parametri forniti dal sistema di attivazione di Cloud Build, oltre ai parametri configurati dall'utente nella definizione del flusso di lavoro.

spazi di lavoro

[object]

Workspaces contiene un insieme di associazioni dello spazio di lavoro che devono corrispondere ai nomi dichiarati nella pipeline.

Valore predefinito: null

timeouts/timeout

oggetto

Tempo dopo il quale la pipeline va in timeout. I timeout possono essere definiti per Pipeline, Attività e Finalmente. Sono correlati dalla formula Timeouts.pipeline Timeouts.tasks + Timeouts.finally.

Specifica buildConfigSource

Campo Tipo Dettagli

ref

oggetto

Può corrispondere a uno dei seguenti:

  • Il riferimento Git. Ad esempio, l'SHA del commit: sha1:563f0...
  • Il digest dell'immagine. Ad esempio: sha256:91fbe...

repository

string

L'URI del repository Git o l'URI del repository di immagini

percorso

string

Il percorso nel repository Git o il nome della risorsa nel bundle di immagini.

Parametri interni

I parametri interni vengono forniti dal generatore per il processo di compilazione.

Campo Tipo Dettagli
tekton-pipelines-feature-flags oggetto Flag delle funzionalità di configurazione di Tekton utilizzati per la compilazione. Questi parametri vengono configurati dal generatore e sono utili per la riproducibilità.
systemParameters oggetto Un elenco di coppie di nomi e valori per le sostituzioni di sistema predefinite fornite da GCB.

Dipendenze risolte

Il campo resolvedDependencies deve contenere voci che identificano il riferimento risolto corrispondente a externalParameters.configRef. Si tratta del riferimento alla pipeline, nel caso di una specifica di PipelineRun, o al riferimento all'attività, nel caso di una specifica di TaskRun.

Le dipendenze risolte possono contenere elementi aggiuntivi che sono input per la compilazione, utilizzando il campo name per indicare il tipo di elemento:

  • Per le pipeline remote, utilizza name: pipeline.
  • Per Tasks remoto, utilizza name: pipelineTask.
  • Per un riferimento risolto a un passaggio o a un'immagine contenitore sidecar, il campo name è facoltativo. Nel caso del campo digest, anche se l'immagine è richiamata tramite tag, è necessario includere il digest dell'immagine.
  • Per altri elementi di input utilizzati per la compilazione, come il codice sorgente, utilizza name: inputs/result. Gli indicatori di tipo vengono utilizzati per i risultati dell'attività.

L'esempio seguente contiene informazioni su tutti i tipi di dipendenze risolte:

"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

Campo Dettagli
builder Contiene un sottocampo id che identifica la piattaforma di compilazione che ha eseguito l'operazione e compilato questa provenienza. Contiene anche il livello SLSA. Il valore id previsto è uno dei seguenti:
  • https://cloudbuild.googleapis.com/GoogleBuilder. Questo ID sviluppatore indica una build SLSA L2.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder. Questo ID del generatore indica una build SLSA L3.
metadati Metadati aggiuntivi su questa particolare esecuzione della compilazione. invocationId mostra l'URL della build, ad esempio https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
I campi startedOn e finishedOn contengono i timestamp relativi all'inizio e al completamento della compilazione.
sottoprodotti Un oggetto results.
Contiene i TaskRunResults prodotti da PipelineRun. I contenuti sono codificati in Base64.