Tipo de compilación: Google Builder

En esta página, se explica el tipo de compilación de SLSA V1.0. para Google Builder.

Parámetros externos

En la siguiente tabla, se muestran los tipos de parámetros externos que se pueden usar en una definición de Workflow PipelineRun y Workflow TaskRun. A menos que se indique lo contrario, todos los parámetros son obligatorios.

Campo Tipo Detalles

runSpec

objeto

La especificación de PipelineRun completa.

buildConfigSource

objeto

La especificación de buildConfigSource completa.

Especificación de PipelineRun

Campo Tipo Detalles

pipelineRef/taskRef

objeto

El lugar desde el que se leyó PythonSpec/taskSpec.

Este campo solo se completa si se hizo referencia a pipelineSpec desde una fuente remota.

Valor predeterminado: null

pipelineSpec/taskSpec

objeto

Especificación de tarea/canalización intercalada, no recuperada de una fuente remota usando pipelineRef/taskRef.

[Opcional].

params

[object]

Es un mapa de los nombres y valores de los parámetros proporcionados a la canalización. Valores puede ser una cadena, un array o un tipo de objeto.

Valor predeterminado: null

Nota: En el caso de un flujo de trabajo activado, este campo también contendrá algunos parámetros proporcionados por el sistema de activación de Cloud Build, además de los parámetros que configuró el usuario en la definición del flujo de trabajo.

lugares de trabajo

[object]

Los lugares de trabajo contienen un conjunto de vinculaciones de lugares de trabajo que deben coincidir con los nombres declarados en la canalización.

Valor predeterminado: null

tiempos de espera

objeto

Es el tiempo después del cual se agota el tiempo de espera de la canalización. Los tiempos de espera se pueden definir para Canalización, Tareas y Finalmente. Se relacionan por la fórmula Timeouts.pipeline Timeouts.tasks + Timeouts.finally.

Especificación buildConfigSource

Campo Tipo Detalles

ref

objeto

Puede ser una de las siguientes:

  • La referencia de git. Por ejemplo, el SHA de confirmación: sha1:563f0...
  • El resumen de la imagen. Por ejemplo: sha256:91fbe...

repositorio

string

El URI del repositorio de Git o el URI del repositorio de imágenes

ruta

string

La ruta de acceso en el repositorio de Git o el nombre del recurso en la imagen en un paquete.

Parámetros internos

El compilador proporciona los parámetros internos para el proceso de compilación.

Campo Tipo Detalles
tekton-pipelines-feature-flags objeto Marcas de función de configuración de Tekton usadas para la compilación. El compilador los configura y son útiles para la reproducibilidad.
systemParameters objeto Es una lista de pares de nombre y valor para las sustituciones predeterminadas del sistema que proporciona GCB.

Dependencias resueltas

El campo resolvedDependencies debe contener entradas que identifiquen la referencia resuelta correspondiente a externalParameters.configRef. Esta es la referencia a la canalización, en el caso de una especificación de PipelineRun, o la referencia a la tarea, en el caso de una especificación de TaskRun.

Las dependencias resueltas pueden contener artefactos adicionales que son entradas para la compilación, que usan el campo name para indicar el tipo de artefacto:

  • Para canalizaciones remotas, usa name: pipeline.
  • Para las tareas remotas, usa name: pipelineTask.
  • Para una referencia resuelta a un paso o a una imagen de contenedor del sidecar, el campo name es opcional. En el caso del campo digest, incluso si la imagen es al que hace referencia la etiqueta, se debe incluir el resumen de la imagen.
  • Para otros artefactos de entrada usados en la compilación, como el código fuente, usa name: inputs/result. Las sugerencias de tipo se usan para los resultados de la tarea.

El siguiente ejemplo contiene información sobre todos los tipos de solicitudes dependencies:

"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 Detalles
compilador Contiene un subcampo id que identifica la plataforma de compilación que ejecutó la operación y propagó esta procedencia. También contiene el nivel de SLSA. El valor esperado de id es uno de los siguientes:
  • https://cloudbuild.googleapis.com/GoogleBuilder Esta El ID del compilador indica un SLSA L2. compilar.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder. Este ID de compilador indica una compilación de SLSA L3.
metadatos Metadatos adicionales sobre esta ejecución particular de la compilación. invocationId muestra la URL de la compilación, como https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
Los campos startedOn y finishedOn contienen las marcas de tiempo de cuándo comenzó y finalizó la compilación.
subproductos Un objeto results.
Contiene los TaskRunResults generados por PipelineRun. El contenido es codificadas en Base64.