Cette page explique comment spécifier des dépendances de compilation. Cloud Build vous permet de gérer les dépendances de code source séparément du processus de compilation.
Dans votre fichier de configuration de compilation, vous pouvez répertorier un ou plusieurs dépôts à cloner pour votre compilation, ainsi que l'ordre dans lequel les récupérer. En spécifiant les dépendances de cette manière, vous séparez 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 qui contient votre fichier de configuration de compilation (pour les compilations déclenchées) ou le dépôt qui contient 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 clone uniquement les dépôts spécifiés dans le champ dependencies.
Les dépendances sont clonées dans l'ordre dans lequel vous les spécifiez. De plus, la récupération des dépendances a lieu avant l'exécution de toute logique spécifiée par l'utilisateur. La récupération des dépendances est donc fiable.
Les dépendances s'affichent dans l'onglet Build dependencies (Dépendances de compilation) de la page Build details (Informations sur la compilation).
Avant de commencer
Les instructions figurant sur cette page supposent que vous disposez d'au moins l'un des deux types de dépôts suivants :
Un dépôt Git public ou associé à Cloud Build à l'aide de Developer Connect.
Un dépôt générique.
Pour vous assurer que dispose des autorisations nécessaires
pour ajouter un dépôt Developer Connect en tant que dépendance,
demandez à votre administrateur d'attribuer le
rôle IAM Accesseur de jeton de lecture Developer Connect (developerconnect.readTokenAccessor)
à sur votre compte de service.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Spécifier des dépendances
Pour spécifier des dépendances, ajoutez un champ 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.
Spécifier des dépendances GitHub
Pour spécifier une dépendance sur un dépôt GitHub, ajoutez la configuration dependencies suivante à votre fichier de configuration de compilation :
YAML
dependencies:
- gitSource:
repository:
url: 'URL'
developerConnect: 'DC_RESOURCE_PATH'
revision: 'REVISION'
recurseSubmodules: 'true|false'
depth: 'DEPTH'
destPath: 'DEST_PATH'
JSON
{
"dependencies": {
"gitSource": {
"repository": {
"url": "URL"
"developerConnect": "DC_RESOURCE_PATH"
},
"revision": "REVISION",
"recurseSubmodules": true|false,
"depth": "DEPTH",
"destPath": "DEST_PATH",
},
},
}
Remplacez les valeurs suivantes :
URL : URL HTTPS du dépôt à récupérer. Obligatoire, sauf si votre dépôt est connecté à Cloud Build à l'aide de Developer Connect.
DC_RESOURCE_PATH : chemin d'accès à la ressource d'un dépôt Developer Connect. Google Cloud Exemple :
projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. Obligatoire si votre dépôt est connecté à Cloud Build à l'aide de Developer Connect.Si votre dépôt est connecté à l'aide de Developer Connect, vous avez besoin des éléments suivants :
- Le compte de service Cloud Build doit disposer du
Developer Connect Read Token Accessorrôle.
- Le compte de service Cloud Build doit disposer du
REVISION : obligatoire. Version, hachage de commit, tag ou nom de branche à récupérer à partir du dépôt.
recurseSubmodules: "true|false" : indique s'il faut récupérer les sous-modules.DEPTH : facultatif, profondeur de l'historique du dépôt à récupérer. Si aucune valeur n'est spécifiée, le dernier commit est récupéré.
1: dernier commit2: deux derniers commits3: trois derniers commits-1: tous les commits
DEST_PATH : obligatoire. Chemin d'accès au répertoire dans lequel le dépôt est cloné. Exemple :
my/repo.Lorsque vous définissez
dest_path, le dépôt est récupéré dans/workspace/<dest_path>. La valeurdest_pathdoit être un chemin d'accès relatif au répertoire de travail de la compilation.
Spécifier un artefact générique en tant que dépendance
Pour spécifier un
artefact générique
en tant que dépendance, ajoutez la configuration dependencies suivante à votre fichier de configuration de compilation
:
YAML
dependencies:
- genericArtifact:
resource: RESOURCE
destPath: PATH
JSON
{
"dependencies": [
{
"genericArtifact": {
"resource": "RESOURCE",
"destPath": "PATH"
}
}
]
}
Où :
RESOURCE est l'adresse complète de l'artefact générique dans votre dépôt générique Artifact Registry, au format suivant :
projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/packages/PACKAGE/versions/VERSIONNous vous recommandons vivement d'inclure l'empreinte de votre artefact dans l'adresse de la ressource afin que Cloud Build puisse vérifier que la référence de l'artefact est immuable. Une version de package avec une empreinte ajoutée est au format suivant :
VERSION@dirsum_sha256=HASH_VALUEPour trouver l'empreinte d'un artefact dans un dépôt Artifact Registry, consultez Récupérer l'empreinte d'une version de package dans votre dépôt.
PATH est l'adresse du dossier dans lequel Cloud Build télécharge le package à partir de votre dépôt. Si le dossier n'existe pas encore, Cloud Build le crée automatiquement.
Étape suivante
Découvrez comment connecter un dépôt à Cloud Build à l'aide des dépôts Cloud Build.
Découvrez comment connecter un dépôt à Cloud Build à l'aide de Developer Connect.