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

En esta página, se explica el tipo de compilación de 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 que no están presentes en la configuración de compilación. Esto incluye los parámetros de activación que no están en tu archivo cloudbuild.yaml.

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

En BuildTrigger, 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 Es la 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 (hexadecimal en minúsculas). Un SHA de confirmación solo se usa si se especifica en el activador.
buildConfigSource.repository string URI HTTPS del repositorio de git que contiene el archivo de configuración de la compilación, con el protocolo https://. Se le agregará el 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 Es la ruta de acceso al archivo de configuración de compilación dentro de la confirmación. Ejemplo: cloudbuild.yaml

Son mutuamente excluyentes con pathAutodetect. Exactamente uno de estos campos debe establecerse en un valor que no sea predeterminado.
buildConfigSource.pathAutoDetect booleano Si es verdadero, path se detectó automáticamente, lo que corresponde a la opción de detección automática en BuildTrigger. "False" se considera equivalente a no establecer. Cloud Build usa path en su lugar si no se habilitó la detección automática.

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

Este campo no existe si repository y ref son iguales que 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 revisó, ya sea como una ref de git completamente calificada (que comienza con refs/) o un SHA de confirmación (hexadecimal en minúsculas). Un SHA de confirmación solo se usa si se especifica en el activador.
sourceToBuild.repository string URI HTTPS del repositorio de git que se obtuvo, con el protocolo https://. Tendrá el prefijo git+.
sourceToBuild.dir string Es el directorio dentro de la confirmación en el que se ejecutará la compilación, sin una barra diagonal final. Puede estar vacío o no establecerse.
buildConfig string Cuando se proporciona una configuración de compilación intercalada, como en una compilación enviada manualmente, 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 del 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 cadena JSON serializada codificada en base64.
substitutions mapa<cadena,cadena></cadena,cadena> Es un mapa de (cadena -> cadena) que contiene las sustituciones que se deben realizar en el recurso de compilación.

Solo contiene sustituciones "independientes" o "de tiempo de ejecución" 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 proporcionadas por el sistema, ya que se consideran internalParameters.

Las sustituciones aparecen en este campo, independientemente de si se hace referencia a ellas o 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 configura para la compilación, a menos que los reemplaces. Para obtener más información, consulta Sustituciones predeterminadas.

Campo Detalles
triggerUri Es 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.
systemSubstitutions Hay un subconjunto de valores de sustitución predeterminados que se proporcionan automáticamente en las compilaciones de Cloud Build, como PROJECT_ID y BUILD_ID.

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

Dependencias resueltas

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

ResolvedDependencies cumple con la especificación ResourceDescriptor.


Tipo de dependencia
Detalles de

Compilación del repositorio de configuración

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


Es posible que esté vacío en el caso de una configuración de compilación que no se leyó de un repositorio y se proporciona intercalada, en cuyo caso se omitirá.

Repositorio de código fuente

Es el repositorio del que se extrajo el código fuente para compilar. Puede ser igual que 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 y se omitirá.

Por ejemplo, la siguiente información de resolvedDependencies contiene un buildConfigRepo y un 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. También contiene el nivel de SLSA. El valor esperado de id es https://cloudbuild.googleapis.com/GoogleHostedWorker.
metadatos Son 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 de cuando se inició y completó la compilación.
subproductos Aún no está en uso. Se diseñaron para contener artefactos adicionales que no se consideran el resultado de la compilación, pero que pueden ser útiles para solucionar problemas o responder incidentes.
systemSubstitutions Hay un subconjunto de valores de sustitución predeterminados que se proporcionan automáticamente en las compilaciones de Cloud Build, como PROJECT_ID y BUILD_ID.

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