En esta página se explica la definición del tipo de compilación 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 |
|
buildConfigSource |
objeto |
Especificación de PipelineRun
Campo | Tipo | Detalles |
---|---|---|
pipelineRef/taskRef |
objeto |
De dónde se ha leído pipelineSpec o taskSpec. Este campo solo se rellena si se ha hecho referencia a pipelineSpec desde una fuente remota. Predeterminado: |
pipelineSpec/taskSpec |
objeto |
Especificación de flujo de trabajo o tarea insertada, no obtenida de una fuente remota mediante pipelineRef o taskRef. [Opcional]. |
params |
[object] |
Mapa de nombres y valores de parámetros proporcionados a Pipeline. Los valores pueden ser de tipo cadena, array u objeto. Predeterminado: Nota: En el caso de los flujos de trabajo activados, este campo también contendrá algunos parámetros proporcionados por el sistema de activación de Cloud Build, además de los parámetros configurados por el usuario en la definición del flujo de trabajo. |
espacios de trabajo |
[object] |
Workspaces contiene un conjunto de enlaces de espacio de trabajo que deben coincidir con los nombres declarados en la canalización. Predeterminado: |
tiempos de espera/tiempo de espera |
objeto |
Tiempo tras el que se agota el tiempo de espera de la canalización. Los tiempos de espera se pueden definir para Pipeline, Tasks y Finally. Se relacionan mediante la fórmula Timeouts.pipeline Timeouts.tasks + Timeouts.finally. |
Especificación de buildConfigSource
Campo | Tipo | Detalles |
---|---|---|
ref |
objeto |
Se puede definir lo siguiente:
|
repositorio |
cadena |
El URI del repositorio de Git o el URI del repositorio de imágenes |
ruta |
cadena |
La ruta del repositorio de Git o el nombre del recurso en el paquete de imágenes. |
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 funciones de configuración de Tekton que se usan en la compilación. El compilador las configura y son útiles para la reproducibilidad. |
systemParameters | objeto | Lista de pares de nombre y valor de las sustituciones predeterminadas del sistema proporcionadas por GCB. |
Dependencias resueltas
El campo resolvedDependencies
debe contener entradas que identifiquen la referencia resuelta correspondiente a externalParameters.configRef
. Es la referencia a la canalización, en caso de que se trate de una especificación de PipelineRun, o la referencia a la tarea, en caso de que se trate de una especificación de TaskRun.
Las dependencias resueltas pueden contener artefactos adicionales que se usen como entradas para la compilación. Para indicar el tipo de artefacto, se usa el campo name
:
- En el caso de las canalizaciones remotas, usa
name: pipeline
. - Para las tareas remotas, usa
name: pipelineTask
. - En el caso de una referencia resuelta a un paso o a una imagen de contenedor auxiliar, el campo
name
es opcional. En el caso del campodigest
, aunque se haga referencia a la imagen mediante una etiqueta, se debe incluir el digest de la imagen. - Para otros artefactos de entrada que se usen en la compilación, como el código fuente, usa
name: inputs/result
. La sugerencia de tipo se usa para los resultados de la tarea.
El siguiente ejemplo contiene información sobre todos los tipos de dependencias resueltas:
"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 rellenó esta procedencia. También contiene el nivel de SLSA. El valor de id esperado es uno de los siguientes:
|
metadata | Metadatos adicionales sobre esta ejecución concreta de la compilación.
El 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 se inició y se completó la compilación.
|
subproductos | Objeto results .Contiene los TaskRunResults generados por el PipelineRun. El contenido está codificado en Base64. |