Gérer les dépendances de compilation

Cette page explique comment spécifier des dépendances de compilation. Cloud Build vous permet de gérer les dépendances de code source indépendamment du processus de compilation.

Dans votre fichier de configuration de compilation, vous pouvez lister un ou plusieurs dépôts Git à cloner pour votre compilation, ainsi que l'ordre dans lequel les récupérer. Spécifier des dépendances de cette manière sépare la récupération des dépendances du processus de compilation lui-même.

Si vous n'incluez aucune dépendance dans votre fichier de configuration de compilation, Cloud Build clone le dépôt de code source contenant votre fichier de configuration de compilation (pour les compilations déclenchées) ou le dépôt contenant votre code source (pour les compilations que vous appelez à partir de la ligne de commande). Si vous incluez des dépendances dans votre fichier de configuration de compilation, Cloud Build ne clone aucun dépôt qui n'est pas spécifié dans le champ dependencies.

Tout dépôt de code source que vous spécifiez dans le champ dependencies doit être connecté à Cloud Build à l'aide de Developer Connect, ou être un dépôt public.

Les dépendances sont clonées dans l'ordre que vous spécifiez dans cette configuration. De plus, la récupération des dépendances se produit avant l'exécution de toute logique spécifiée par l'utilisateur. Par conséquent, l'extraction des dépendances est fiable.

Avant de commencer

Les instructions de cette page supposent que vous disposez d'un ou de plusieurs dépôts Git qui sont des dépôts publics ou qui sont associés à l'aide de Developer Connect.

Rôles requis

Si un dépôt que vous ajoutez en tant que dépendance est un dépôt Developer Connect, votre compte de service doit disposer du rôle Accesseur de jetons Developer Connect (en lecture):

Cela s'ajoute à tous les autres rôles Cloud Build dont vous avez besoin.

Spécifier des dépendances

Vous spécifiez les dépendances en ajoutant un stanza dependencies à votre fichier de configuration de compilation. dependencies est une propriété de premier niveau dans la configuration de compilation, mais vous pouvez la placer n'importe où dans le fichier.

Voici la syntaxe de la strophe dependencies:

YAML

 dependencies:
 - gitSource:
     repository:
       url: 'URL'
       developerConnect: 'RESOURCE_PATH'
     revision: 'REVISION'
     recurseSubmodules: 'true|false'
     depth: DEPTH'
     destPath: 'DEST_PATH'

JSON

 {
     "dependencies": {
         "gitSource": {
             "repository": {
                 "url": "URL"
                 "developerConnect": "RESOURCE_PATH"
             },
             "revision": "REVISION",
             "recurseSubmodules": true|false,
             "depth": "DEPTH",
             "destPath": "DEST_PATH",
         },
     },
 }

Remplacez les valeurs suivantes :

  • URL : facultatif. URL HTTPS du dépôt à extraire. Vous devez spécifier une URL ou un chemin d'accès aux ressources Developer Connect.

  • RESOURCE_PATH : facultatif. Chemin d'accès aux ressources Google Cloud vers ce dépôt Developer Connect. Exemple : projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. Vous devez spécifier une URL ou un chemin d'accès à une ressource Developer Connect. Spécifiez ce champ si le dépôt à extraire est connecté à Cloud Build à l'aide de Developer Connect.

  • REVISION : valeur obligatoire. Version, hachage de commit, balise ou nom de branche à extraire du dépôt.

  • recurseSubmodules: 'true|false': indique si les sous-modules doivent être récupérés.

  • DEPTH: facultatif, profondeur de l'historique du dépôt à extraire. Si elle n'est pas spécifiée, le dernier commit est extrait.

    • 1: dernier commit
    • 2: les deux derniers commits
    • 3: trois derniers commits
    • -1: tous les commits
  • DEST_PATH : valeur obligatoire. Chemin d'accès au répertoire dans lequel le dépôt sera cloné. Exemple :my/repo

    Lorsque vous définissez dest_path, le dépôt est extrait dans /workspace/<dest_path>. La valeur dest_path doit être un chemin relatif, et elle est relative au répertoire de travail de la compilation.

Spécifier un dépôt Developer Connect en tant que dépendance

  • Si vous spécifiez un dépôt Developer Connect comme dépendance, vous devez attribuer le rôle Developer Connect Read Token Accessor au compte de service Cloud Build. Pour en savoir plus, consultez la section Accorder l'accès à Cloud Build à un dépôt Developer Connect.

  • Votre build doit se trouver dans la même région que la connexion Developer Connect.

Étape suivante