Tipo de compilación: Compilación de Cloud Build v1

En esta página, se explica el tipo de compilación para Cloud Build.

Definición de compilación

Parámetros externos

En la siguiente tabla, se muestran los tipos de parámetros externos que se pueden usar en una compilación de Cloud Build. Los parámetros externos son valores que especificas y no están presentes en la configuración de la compilación. Esto incluye los parámetros de activación que no están en el archivo cloudbuild.yaml.

Campo Tipo Detalles
buildConfigSource objeto Ubicación desde la que se leyó la configuración de compilación.

En BuildTrigger, esto corresponde al repositorio de origen que activó la compilación (compilaciones activadas por eventos de SCM) o a gitFileSource para todos los demás tipos de activadores.

Se establecerá buildConfigSource O buildConfig (en el caso de la configuración de compilación intercalada).
buildConfigSource.ref string Referencia de Git dentro de buildConfigSource.repository desde la que se leyó la configuración, como una referencia de Git completamente calificada (que comienza con refs/) o un SHA de confirmación (hex en minúscula). Solo se usa un SHA de confirmación si se especifica en el activador.
buildConfigSource.repository string El URI de HTTPS del repositorio de Git que contiene el archivo de configuración de compilación, con el protocolo https://. Tendrá un prefijo git+ para brindar compatibilidad con el formato SPDX. Para obtener más información sobre los requisitos de formato, consulta ResourceURI.
buildConfigSource.path string Ruta de acceso al archivo de configuración de compilación dentro de la confirmación. Ejemplo: cloudbuild.yaml

Mutuamente excluyente con pathAutodetect. Exactamente uno de estos campos se debe establecer en un valor no predeterminado.
buildConfigSource.pathAutoDetect boolean Si es verdadero, path se detectó automáticamente, lo que corresponde a la opción de detección automática en BuildTrigger. Falso se considera equivalente a no establecerlo; Cloud Build usa path en su lugar si la detección automática no estaba habilitada.

Mutuamente excluyente con path. Exactamente uno de estos campos DEBE establecerse en un valor no predeterminado.
sourceToBuild objeto Código fuente que se verificó y compiló. Por lo general, es lo mismo que buildConfigSource; solo difiere si el BuildTrigger tenía gitFileSource configurado.

Este campo no existe si repository y ref son iguales a buildConfigSource y dir está vacío.

En BuildTrigger, esto corresponde a sourceToBuild o a la confirmación que activó la compilación, según el tipo de activador.
sourceToBuild.ref string Referencia de Git dentro de sourceToBuild.repository que se quitó, como una ref de Git completamente calificada (que comienza con refs/) o un SHA de confirmación (hex en minúscula). Solo se usa un SHA de confirmación si se especifica en el activador.
sourceToBuild.repository string El URI HTTPS del repositorio de Git que se descartó, con el protocolo https://. Tiene el prefijo git+.
sourceToBuild.dir string Directorio dentro de la confirmación en el que se ejecuta la compilación, sin una barra final. Puede estar vacío, sin establecer.
buildConfig string Cuando se proporciona una configuración de compilación intercalada, por ejemplo, en una compilación enviada de forma manual, se registra la siguiente información.

- pasos
- opciones de compilación (p.ej., variables de entorno, volúmenes, detalles del grupo de trabajadores, machineType, detalles de registro)
- sustituciones

Si la configuración de compilación se leyó desde un repositorio, se registra en la sección buildConfigSource y se omite la configuración de compilación intercalada.

Esta información se almacena como una string JSON serializada codificada en base64.
substitutions mapa<string,string></string,string> Mapa de (string -> string) que contiene las sustituciones que se realizarán en el recurso de compilación.

Esto solo contiene sustituciones de “entorno de ejecución” o “independientes” que no se registran en la configuración de compilación, es decir, que se pasan desde un activador o una marca de gcloud CLI.

Este registro no incluye las sustituciones predeterminadas que proporciona el sistema, ya que estas se consideran internalParameters.

Las sustituciones aparecen en este campo sin importar si se hacen referencia a ellas o si se usan en la configuración de compilación.

Parámetros internos

En la siguiente tabla, se muestran los parámetros internos que Cloud Build establece para la compilación, a menos que los reemplaces. Para obtener más información, consulta Sustituciones predeterminadas.

Campo Detalles
triggerUri El URI del recurso del activador que invocó esta compilación, en este caso, el nombre completo del recurso.

Si no se activó la compilación, se omite esta acción.
systemSubstitutions Existe un subconjunto de valores de sustitución predeterminados que se proporcionan de forma automática en las compilaciones de Cloud Build, como PROJECT_ID o BUILD_ID.

Si reemplazas una de las sustituciones predeterminadas de Cloud Build, estas no se mostrarán aquí. En su lugar, se mostrarán tus valores en externalParameters.substitutions.

Dependencias resueltas

Si la compilación tiene un repositorio de código fuente o uno de configuración de compilación, el repositorio se describe en la sección resolvedDependencies de BuildDefinition.

ResolvedDependencies cumplen con la especificación ResourceDescriptor.


Tipo de dependencia

Detalles

Compila el repositorio de configuración

El repositorio del que se extrajo la configuración de compilación (es decir, el cloudbuild.yaml), en el caso de las compilaciones activadas.


Esto puede estar vacío en el caso de una configuración de compilación que no se leyó desde un repositorio y se proporciona intercalada, en cuyo caso se omitirá.

Repositorio de origen

El repositorio del que se extrajo el código fuente para compilar. Puede ser igual a buildConfigSource o diferente. Si es igual que buildConfigSource, se omite sourceToBuild, por ejemplo, en compilaciones activadas por SCM.

Es posible que sourceToBuild esté vacío si la compilación se ejecuta a través de –no-source; además, se omitirá.

Por ejemplo, la siguiente información de resolvedDependencies contiene un buildConfigRepo y sourceRepo (que son iguales), y una imagen de paso de compilación.

"resolvedDependencies": [
{
    "uri": "git+https://github.com/octocat/hello-world.git",
    "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"}
}, {
    "uri": "gcr.io/cloud-builders/git",
    "digest": {
        "sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bba7158df"}
    }
]

RunDetails

Campo Detalles
compilador Contiene un subcampo id que identifica la plataforma de compilación que ejecutó la operación y propagó esta procedencia. Esto también contiene el nivel SLSA. El valor esperado de id es https://cloudbuild.googleapis.com/GoogleHostedWorker.
metadatos Metadatos adicionales sobre esta ejecución en particular de la compilación. invocationId muestra la URL de la compilación, como https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID.
Los campos startedOn y finishedOn contienen las marcas de tiempo del momento en que se inició y completó la compilación.
subproductos Aún no está en uso. Diseñada para contener artefactos adicionales que no se consideran el resultado de la compilación, pero que pueden ser útiles para solucionar problemas o responder ante incidentes.
systemSubstitutions Existe un subconjunto de valores de sustitución predeterminados que se proporcionan de forma automática en las compilaciones de Cloud Build, como PROJECT_ID o BUILD_ID.

Si reemplazas una de las sustituciones predeterminadas de Cloud Build, estas no se mostrarán aquí. En su lugar, se mostrarán tus valores en externalParameters.substitutions.