Type de compilation : Google Builder

Cette page décrit le type de compilation SLSA V1.0. pour Google Builder.

Paramètres externes

Le tableau suivant présente les types de paramètres externes pouvant être utilisés dans une définition de Workflow PipelineRun et de Workflow TaskRun. Sauf indication contraire, tous les paramètres sont obligatoires.

Champ Type Détails

runSpec

objet

Spécification PipelineRun complète.

buildConfigSource

objet

La spécification buildConfigSource complète.

Spécification PipelineRun

Champ Type Détails

pipelineRef/taskRef

objet

Emplacement à partir duquel pipelineSpec/taskSpec a été lu.

Ce champ n'est renseigné que si la pipelineSpec a été référencée à partir d'une source distante.

Valeur par défaut : null

pipelineSpec/taskSpec

objet

Spécification de pipeline/tâche intégrée, non extraite d'une source distante à l'aide de pipelineRef/taskRef.

[Facultatif].

params

[object]

Mappage des noms et valeurs des paramètres fournis au pipeline. Les valeurs peuvent être de type chaîne, tableau ou objet.

Valeur par défaut : null

Remarque : En cas de workflow déclenché, ce champ contient également certains paramètres fournis par le système de déclenchement de Cloud Build, en plus des paramètres configurés par l'utilisateur dans la définition du workflow.

espaces de travail

[object]

"Workspace" contient un ensemble de liaisons d'espace de travail qui doivent correspondre avec ceux déclarés dans le pipeline.

Valeur par défaut : null

délais avant expiration/délai avant expiration

objet

Délai avant expiration du pipeline. Vous pouvez définir des délais avant expiration pour le pipeline, les tâches et les tâches "finally". Ils sont liés par la formule Timeouts.pipeline Timeouts.tasks + Timeouts.finally.

Spécification buildConfigSource

Champ Type Détails

ref

objet

Les possibilités suivantes s'offrent à vous :

  • Référence Git. Par exemple, SHA du commit: sha1:563f0...
  • Condensé de l'image. Par exemple : sha256:91fbe...

dépôt

chaîne

URI du dépôt Git ou de l'image

chemin d'accès

chaîne

Chemin d'accès dans le dépôt Git ou nom de la ressource dans le bundle d'images.

Paramètres internes

Les paramètres internes sont fournis par le compilateur pour le processus de compilation.

Champ Type Détails
tekton-pipelines-feature-flags objet Indicateurs de fonctionnalité de configuration Tekton utilisés pour la compilation. Il s'agit configurés par le compilateur et sont utiles pour la reproductibilité.
systemParameters objet Liste de paires nom/valeur pour les substitutions système par défaut fournies par GCB.

Dépendances résolues

Le champ resolvedDependencies doit contenir des entrées identifiant la référence résolue correspondant à externalParameters.configRef. Il s'agit de la référence au pipeline, en cas de spécification PipelineRun, ou de la référence à la tâche, en cas de spécification TaskRun.

Les dépendances résolues peuvent contenir des artefacts supplémentaires qui sont des entrées pour la compilation, en utilisant le champ name pour indiquer le type de l'artefact :

  • Pour les pipelines distants, utilisez name: pipeline.
  • Pour les tâches distantes, utilisez name: pipelineTask.
  • Pour une référence résolue à une étape ou à une image de conteneur side-car, le champ name est facultatif. Dans le cas du champ digest, même si l'image est référencée par un tag, le condensé de l'image doit être inclus.
  • Pour les autres artefacts d'entrée utilisés pour la compilation, comme le code source, utilisez name: inputs/result. L'optimisation du type est utilisée pour les résultats de la tâche.

L'exemple suivant contient des informations sur tous les types de dépendances résolues :

"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

Champ Détails
compilateur Contient un sous-champ id qui identifie la plate-forme de compilation qui exécuté l'opération et renseigné cette provenance. Contient également au niveau SLSA. La valeur id attendue est l'une des suivantes:
  • https://cloudbuild.googleapis.com/GoogleBuilder. Cet ID de compilateur indique un build SLSA L2.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder Cet ID de compilateur indique un SLSA L3 créer.
métadonnées Métadonnées supplémentaires sur cette exécution particulière de la compilation. invocationId affiche l'URL du build, par exemple https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
: champs startedOn et finishedOn contiennent les codes temporels correspondant au début et à la fin de la compilation.
produits secondaires Un objet results.
Contient les résultats de l'exécution du pipeline générés par l'exécution du pipeline. Le contenu est et encodée en base64.