Type de compilation: compilation Cloud Build v1

Cette page explique le type de compilation pour Cloud Build.

Définition de compilation

Paramètres externes

Le tableau suivant présente les types de paramètres externes pouvant être utilisés dans un build Cloud Build. Les paramètres externes sont des valeurs que vous spécifiez et qui ne sont pas présentes dans la configuration de votre build. 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, cela correspond au dépôt source qui a déclenché la compilation (compilations déclenchées par événement SCM) ou à gitFileSource pour tous les autres types de déclencheurs.

buildConfigSource OU buildConfig (dans le cas d'une 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 la forme d'une référence git entièrement qualifiée (commençant par refs/) ou d'un SHA de commit (hexadécimal en minuscules). 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 sera précédé d'un git+ pour assurer la compatibilité avec le format SPDX. Pour en savoir plus sur les exigences de format, consultez la section ResourceURI.
buildConfigSource.path chaîne Chemin d'accès au fichier de configuration de compilation dans le commit. Exemple : cloudbuild.yaml

S'exclut mutuellement avec pathAutodetect. Un seul de ces champs doit être défini sur une valeur autre que la valeur par défaut.
buildConfigSource.pathAutoDetect booléen 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 équivalente à "not set". Cloud Build utilise plutôt path si la détection automatique n'a pas été activée.

Exclut path. Un seul de ces champs DOIT être défini sur une valeur autre que la valeur par défaut.
sourceToBuild objet Code source extrait et compilé. Normalement, il s'agit de la même valeur que buildConfigSource. Il ne diffère que si gitFileSource est défini pour BuildTrigger.

Ce champ n'existe pas si repository et ref sont identiques à buildConfigSource et si dir est vide.

Dans BuildTrigger, cela correspond à sourceToBuild ou au commit qui a déclenché la compilation, en fonction du type de déclencheur.
sourceToBuild.ref chaîne Référence Git dans sourceToBuild.repository qui a été récupérée, sous la forme d'une référence git entièrement qualifiée (commençant par refs/) ou d'un SHA de commit (hexadécimal en minuscules). 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 sera précédé d'un git+.
sourceToBuild.dir chaîne Répertoire du commit dans lequel exécuter la compilation, sans barre oblique finale. Peut être vide, non défini.
buildConfig chaîne Lorsqu'une configuration de compilation intégrée est fournie, comme dans un build envoyé manuellement, les informations suivantes sont enregistrées.

- steps
- options de compilation (par exemple, variables d'environnement, volumes, détails du pool de nœuds de calcul, machineType, détails des journaux)
- 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 la forme d'une chaîne JSON sérialisée encodée en base64.
substitutions map<chaîne,chaîne></chaîne,chaîne> Mappage (chaîne -> chaîne) contenant les substitutions à effectuer sur la ressource de compilation.

Elle ne contient que des 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'un indicateur de la CLI gcloud.

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 que Cloud Build définit pour la compilation, sauf si vous les remplacez. Pour en savoir plus, consultez la section Substitutions par défaut.

Champ Détails
triggerUri URI de la 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, cet élément est omis.
systemSubstitutions Un sous-ensemble de valeurs de substitution par défaut est automatiquement fourni dans les builds Cloud Build, comme PROJECT_ID et BUILD_ID.

Si vous remplacez 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 le build dispose d'un dépôt source ou d'un dépôt de configuration de compilation, le dépôt est décrit dans la section resolvedDependencies de BuildDefinition.

ResolvedDependencies est conforme à la spécification ResourceDescriptor.


Type de dépendance

Détails

Dépôt de configuration de compilation

Dépôt à partir duquel la configuration de compilation (c'est-à-dire le 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 en ligne, auquel cas elle sera omise.

Dépôt source

Dépôt à partir duquel le code source à compiler a été extrait. Il peut être identique à buildConfigSource ou différent. Si la valeur est identique à buildConfigSource, sourceToBuild est omis, par exemple dans les builds déclenchés par SCM.

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

Par exemple, les informations resolvedDependencies suivantes contiennent à la fois un buildConfigRepo et un sourceRepo (qui sont identiques), ainsi qu'une image d'é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 du build, par exemple https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID.
Les champs startedOn et finishedOn contiennent les codes temporels de début et de fin de la compilation.
sous-produits Pas encore utilisé. Conçu pour contenir des artefacts supplémentaires qui ne sont pas considérés comme le résultat du build, mais qui peuvent être utiles pour le dépannage ou la gestion des incidents.
systemSubstitutions Un sous-ensemble de valeurs de substitution par défaut est automatiquement fourni dans les builds Cloud Build, comme PROJECT_ID et BUILD_ID.

Si vous remplacez 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.