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 especifica el usuario y que 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 ha leído la configuración de compilación.

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

Se definirá buildConfigSource O buildConfig (en el caso de la configuración de compilación insertada).
buildConfigSource.ref cadena Referencia de Git en buildConfigSource.repository desde la que se ha leído la configuración, ya sea una referencia de Git completa (que empieza por refs/) o un SHA de commit (hexadecimal en minúsculas). Un SHA de confirmación solo se usa si se especifica en el activador.
buildConfigSource.repository cadena URI HTTPS del repositorio de Git que contiene el archivo de configuración de compilación, con el protocolo https://. Se le añadirá el prefijo git+ para que sea compatible con el formato SPDX. Para obtener más información sobre los requisitos de formato, consulta ResourceURI.
buildConfigSource.path cadena Ruta al archivo de configuración de compilación en la confirmación. Ejemplo: cloudbuild.yaml

Se excluye mutuamente con pathAutodetect. Exactamente uno de estos campos debe tener un valor que no sea el predeterminado.
buildConfigSource.pathAutoDetect booleano Si el valor es true, path se ha detectado automáticamente, lo que corresponde a la opción de detección automática de BuildTrigger. False se considera equivalente a no definido. Cloud Build usa path en su lugar si no se ha habilitado la detección automática.

Se excluye mutuamente con path. Se debe asignar un valor que no sea el predeterminado a exactamente uno de estos campos.
sourceToBuild objeto Código fuente que se ha extraído y compilado. Normalmente, es el mismo que buildConfigSource. Solo cambia si se ha definido gitFileSource en BuildTrigger.

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

En BuildTrigger, corresponde a sourceToBuild o a la confirmación que ha activado la compilación, según el tipo de activador.
sourceToBuild.ref cadena Referencia de Git en sourceToBuild.repository que se ha consultado, ya sea como una referencia de Git completa (que empieza por refs/) o como un SHA de commit (hexadecimal en minúsculas). Un SHA de confirmación solo se usa si se especifica en el activador.
sourceToBuild.repository cadena URI HTTPS del repositorio Git que se ha comprobado, con el protocolo https://. Se le añadirá el prefijo git+.
sourceToBuild.dir cadena Directorio del commit en el que se va a ejecutar la compilación, sin barra inclinada al final. Puede estar vacío o sin definir.
buildConfig cadena Cuando se proporciona una configuración de compilación insertada, como en una compilación enviada manualmente, se registra la siguiente información.

- steps
- build options (e.g. environment variables, volumes, worker pool details, machineType, log details)
- substitutions

Si la configuración de compilación se ha leído de un repositorio, se registra en la sección buildConfigSource y se omite la configuración de compilación insertada.

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

Solo contiene sustituciones de "tiempo de ejecución" o "independientes" que no se registran en la configuración de compilación, es decir, que se transfieren desde un activador o una marca de la CLI de gcloud.

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 define para la compilación, a menos que los sobrescriba. Para obtener más información, consulta las sustituciones predeterminadas.

Campo Detalles
triggerUri URI de recurso del activador que ha invocado esta compilación. En este caso, es el nombre de recurso completo.

Si no se ha activado 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 sobrescribes una de las sustituciones predeterminadas de Cloud Build, tus sustituciones no se mostrarán aquí. En su lugar, los valores se mostrará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 del BuildDefinition.

ResolvedDependencies se ajusten a la ResourceDescriptor especificación.


Tipo de dependencia

Detalles

Crear un repositorio de configuración

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


Puede estar vacío en el caso de una configuración de compilación que no se haya leído de un repositorio y se haya proporcionado de forma insertada, en cuyo caso se omitirá.

Repositorio de origen

El repositorio del que se ha extraído el código fuente que se va a compilar. Puede ser la misma que la de buildConfigSource o una diferente. Si es igual que buildConfigSource, se omite sourceToBuild. Por ejemplo, en las compilaciones activadas por SCM.

El sourceToBuild puede estar 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), así como 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 rellenó esta procedencia. También contiene el nivel de SLSA. El valor id esperado es https://cloudbuild.googleapis.com/GoogleHostedWorker.
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/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID.
Los campos startedOn y finishedOn contienen las marcas de tiempo de cuándo se inició y se completó la compilación.
subproductos Aún no se ha utilizado. Diseñado para contener artefactos adicionales que no se consideran el resultado de la compilación, pero que pueden ser útiles para solucionar problemas o responder a 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 sobrescribes una de las sustituciones predeterminadas de Cloud Build, tus sustituciones no se mostrarán aquí. En su lugar, los valores se mostrarán en externalParameters.substitutions.