Type de compilation: build Cloud Build v1

Cette page décrit le type de compilation pour Cloud Build.

Définition de la compilation

Paramètres externes

Le tableau suivant affiche les types de paramètres externes pouvant être utilisés dans une compilation Cloud Build. Les paramètres externes sont des valeurs que vous spécifiez et ne sont pas présents dans votre configuration de compilation. Cela inclut les paramètres de déclencheur qui ne figurent pas dans votre fichier cloudbuild.yaml.

Champ Type Détails
buildConfigSource objet Emplacement à partir duquel la configuration de compilation a été lue.

Dans BuildTrigger, il correspond au dépôt source ayant déclenché la compilation (builds déclenchés par un événement SCM) ou gitFileSource pour tous les autres types de déclencheurs.

buildConfigSource OU buildConfig (dans le cas de la configuration de compilation intégrée) sera défini.
buildConfigSource.ref chaîne Référence Git dans buildConfigSource.repository à partir de laquelle la configuration a été lue, sous forme de référence Git complète (commençant par refs/) ou de commit SHA (hexadécimal minuscule). Un SHA de commit n'est utilisé que s'il est spécifié dans le déclencheur.
buildConfigSource.repository chaîne URI HTTPS du dépôt git contenant le fichier de configuration de compilation, avec le protocole https://. Il est précédé de git+ pour assurer la compatibilité avec le format SPDX. Pour en savoir plus sur les exigences de mise en forme, consultez ResourceURI.
buildConfigSource.path chaîne Chemin d'accès au fichier de configuration de compilation dans le commit. Exemple : cloudbuild.yaml

Mutuellement exclusif avec pathAutodetect. Un seul de ces champs doit être défini sur une valeur autre que celle par défaut.
buildConfigSource.pathAutoDetect boolean Si la valeur est "true", path a été détecté automatiquement, ce qui correspond à l'option de détection automatique dans BuildTrigger. La valeur "false" est considérée comme équivalent à non défini. Cloud Build utilise path à la place si la détection automatique n'est pas activée.

Elle est mutuellement exclusive avec path. Un seul de ces champs DOIT être défini sur une valeur autre que celle par défaut.
sourceToBuild objet Code source qui a été extrait et créé. Normalement, cette valeur est identique à buildConfigSource, elle ne diffère que si gitFileSource est défini pour le BuildTrigger.

Ce champ n'existe pas si les éléments repository et ref sont identiques à buildConfigSource et si le champ dir est vide.

Dans BuildTrigger, cela correspond à sourceToBuild ou au commit ayant déclenché la compilation, selon le type de déclencheur.
sourceToBuild.ref chaîne Référence Git dans sourceToBuild.repository qui a été extraite, sous forme de référence Git complète (commençant par refs/) ou de commit SHA (hexadécimal minuscule). Un SHA de commit n'est utilisé que s'il est spécifié dans le déclencheur.
sourceToBuild.repository chaîne URI HTTPS du dépôt Git extrait, avec le protocole https://. Il est précédé du préfixe git+.
sourceToBuild.dir chaîne Répertoire du commit dans lequel exécuter la compilation, sans barre oblique finale. Peut être vide ou non défini.
buildConfig chaîne Lorsqu'une configuration de compilation intégrée est fournie, par exemple dans une compilation envoyée manuellement, les informations suivantes sont enregistrées.

- steps
- Options de compilation (variables d'environnement, volumes, détails du pool de nœuds de calcul, machineType, détails du journal)
- substitutions

Si la configuration de compilation a été lue à partir d'un dépôt, elle est enregistrée dans la section buildConfigSource, et la configuration de compilation intégrée est omise.

Ces informations sont stockées sous forme de chaîne JSON sérialisée encodée en base64.
substitutions map<string,string></string,string> (chaîne) Map de (chaîne -> chaîne) contenant les substitutions à effectuer sur la ressource de compilation.

Elle ne contient que les substitutions "d'exécution" ou "indépendantes" qui ne sont pas enregistrées dans la configuration de compilation, c'est-à-dire transmises à partir d'un déclencheur ou d'une option de gcloud CLI.

Cet enregistrement n'inclut pas les substitutions par défaut fournies par le système, car elles sont considérées comme internalParameters.

Les substitutions apparaissent dans ce champ, qu'elles soient référencées ou utilisées dans la configuration de compilation.

Paramètres internes

Le tableau suivant affiche les paramètres internes définis par Cloud Build pour la compilation, sauf si vous les écrasez. Pour en savoir plus, consultez la section Substitutions par défaut.

Champ Détails
triggerUri URI de ressource du déclencheur qui a appelé cette compilation, dans ce cas le nom complet de la ressource.

Si la compilation n'a pas été déclenchée, cette valeur est omise.
systemSubstitutions Il existe un sous-ensemble de valeurs de substitution par défaut qui sont automatiquement fournis dans les compilations Cloud Build, tels que PROJECT_ID et BUILD_ID.

Si vous écrasez l'une des substitutions par défaut de Cloud Build, vos substitutions ne s'afficheront pas ici. Vos valeurs seront listées dans externalParameters.substitutions à la place.

Dépendances résolues

Si la compilation dispose d'un dépôt source ou d'un dépôt de configuration de compilation, celui-ci est décrit dans la section resolvedDependencies du fichier BuildDefinition.

ResolvedDependencies sont conformes à la spécification ResourceDescriptor.


Type de dépendance

Détails

Compiler le dépôt de configuration

Dépôt à partir duquel la configuration de compilation (c'est-à-dire cloudbuild.yaml) a été extraite, dans le cas de compilations déclenchées.


Ce champ peut être vide dans le cas d'une configuration de compilation qui n'a pas été lue à partir d'un dépôt et qui est fournie de manière intégrée, auquel cas elle est omise.

Dépôt source

Dépôt à partir duquel le code source à compiler a été extrait. Elle peut être identique à buildConfigSource ou différente. S'il est identique à buildConfigSource, sourceToBuild est omis, par exemple, dans les builds déclenchés par SCM.

Le champ sourceToBuild peut être vide si la compilation est exécutée via –no-source. Il est donc omis.

Par exemple, les informations resolvedDependencies suivantes contiennent à la fois un buildConfigRepo et sourceRepo (qui sont identiques), ainsi qu'une image de l'étape de compilation.

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

RunDetails

Champ Détails
compilateur Contient un sous-champ id qui identifie la plate-forme de compilation qui a exécuté l'opération et renseigné cette provenance. Il contient également le niveau SLSA. La valeur id attendue est https://cloudbuild.googleapis.com/GoogleHostedWorker.
métadonnées Métadonnées supplémentaires sur cette exécution particulière du build. invocationId affiche l'URL de la compilation, par exemple https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID.
Les champs startedOn et finishedOn contiennent les codes temporels correspondant au début et à la fin de la compilation.
sous-produits Pas encore utilisée. Conçu pour contenir des artefacts supplémentaires qui ne sont pas considérés comme la sortie du build, mais qui peuvent être utiles pour le dépannage ou la gestion des incidents.
systemSubstitutions Il existe un sous-ensemble de valeurs de substitution par défaut qui sont automatiquement fournis dans les compilations Cloud Build, tels que PROJECT_ID et BUILD_ID.

Si vous écrasez l'une des substitutions par défaut de Cloud Build, vos substitutions ne s'afficheront pas ici. Vos valeurs seront listées dans externalParameters.substitutions à la place.