Automatiser les compilations à l'aide de Cloud Build
Cette page explique comment utiliser Cloud Build pour automatiser les compilations.
Cloud Build utilise des déclencheurs de compilation pour activer l'automatisation CI/CD. Vous pouvez configurer des déclencheurs pour écouter les événements entrants, par exemple lorsqu'un nouveau commit est transféré vers un dépôt ou lorsqu'une demande d'extraction est lancée, puis Apellez automatiquement une compilation lorsque de nouveaux événements arrivent.
Vous allez créer un déclencheur et le configurer pour appeler une compilation chaque fois que vous transférerez une modification dans un dépôt GitHub.
Pour obtenir des instructions détaillées sur cette tâche directement dans l' éditeur Cloud Shell, cliquez sur Visite guidée :
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init Si vous ne disposez pas encore de compte GitHub, créez-en un sur GitHub.
Si vous avez configuré l'authentification à deux facteurs sur GitHub, créez un jeton d'accès personnel à utiliser à la place d'un mot de passe GitHub avec la ligne de commande.
Rôles requis
Pour obtenir les autorisations nécessaires pour automatiser les compilations à l'aide de Cloud Build, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de service Cloud Build :
-
Éditeur Cloud Build (
roles/cloudbuild.builds.editor) -
Utilisateur d'objets Storage (
roles/storage.objectUser) -
Lecteur de buckets Storage (
roles/storage.bucketViewer) -
Administrateur de connexion Cloud Build (
roles/cloudbuild.connectionAdmin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Dupliquer et cloner un exemple de dépôt GitHub
Vous aurez besoin d'un exemple de code source pour compiler. Dans cette section, vous allez cloner un dépôt source existant contenant un exemple Hello World en langage Go dans votre propre compte utilisateur GitHub.Si vous n'avez pas encore de compte, créez-en un sur GitHub.
Si vous avez configuré l'authentification à deux facteurs sur GitHub, créez un jeton d'accès personnel à utiliser à la place d'un mot de passe GitHub avec la ligne de commande.
Dupliquez le dépôt
cloud-build-samplessur votre propre compte GitHub :Accédez au dépôt Cloud Build cloud-build-samples.
Cliquez sur l'icône Dupliquer en haut à droite de la page.
Cliquez sur le compte utilisateur GitHub vers lequel vous souhaitez dupliquer le dépôt.
Vous êtes automatiquement redirigé vers la page contenant votre version dupliquée du dépôt
cloud-build-samples.
Ouvrez un terminal dans votre environnement local.
Clonez le dépôt dupliqué en exécutant la commande suivante, où GITHUB_USERNAME correspond au nom d'utilisateur de votre compte GitHub :
git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git
Connecter Cloud Build à votre dépôt
Pour créer du code source sur GitHub à l'aide de déclencheurs, vous devez d'abord connecter Cloud Build à votre dépôt GitHub. Dans cette section, vous allez connecter votre dépôtcloud-build-samples à Cloud Build.
Dans le Google Cloud menu de navigation de la console, cliquez sur Cloud Build > Déclencheurs.
Sélectionnez votre projet et cliquez sur Ouvrir.
Cliquez sur
Connecter un dépôt .Sous Sélectionner une source, cliquez sur
GitHub (application GitHub Cloud Build) .Cliquez sur
Continuer .Authentifiez votre compte GitHub.
Dans la section Sélectionner un dépôt, sélectionnez le nom d'utilisateur de votre
compte GitHub . Si votre nom d'utilisateur n'apparaît pas dans la liste :Dans la liste Compte GitHub, cliquez sur +Ajouter.
Une fenêtre pop-up s'affiche pour l'installation de l'application GitHub Cloud Build.
Cliquez sur votre nom d'utilisateur GitHub.
Cliquez sur Uniquement certains dépôts pour installer l'application GitHub Cloud Build sur certains dépôts.
Dans le menu déroulant, sélectionnez GITHUB_USERNAME/cloud-build-samples, où GITHUB_USERNAME correspond au nom d'utilisateur de votre compte GitHub.
Cliquez sur Installer.
Vous serez peut-être invité à saisir le mot de passe de votre compte GitHub avant de continuer.
Après avoir installé l'application GitHub Cloud Build, vous pourrez voir votre nom d'utilisateur dans le menu déroulant Compte GitHub. Sélectionnez votre nom d'utilisateur.
Sous
Dépôt , sélectionnez GITHUB_USERNAME/cloud-build-samples.Cliquez sur la coche pour accepter les conditions d'utilisation liées à la connexion de déclencheurs.
Cliquez sur
Connecter .Cliquez sur
OK .
Créer un déclencheur
Ouvrez la page Déclencheurs dans la Google Cloud console :
Sélectionnez votre projet dans le menu déroulant du sélecteur de projet, en haut de la page.
Cliquez sur Ouvrir.
Sur la page Déclencheurs, cliquez sur
Créer un déclencheur .Sur la page Créer un déclencheur, saisissez les paramètres suivants :
Nom : nommez votre déclencheur
hello-world-trigger.Événement : sélectionnez
Déployer sur une branche comme événement de dépôt pour appeler votre déclencheur.Source : sélectionnez le dépôtcloud-build-samplescomme source. Il contient votre code source et votre fichier de configuration de compilation.Configuration de la compilation : sélectionnez
Fichier de configuration Cloud Build comme type de configuration de compilation.Emplacement du fichier de configuration Cloud Build : indiquez le chemin d'accèsquickstart-automate/cloudbuild.yaml, où se trouve votre fichier de configuration Cloud Build.
Cliquez sur
Créer pour enregistrer le déclencheur de compilation.
Valider une modification
Dans cette section, vous allez valider une modification apportée à votre dépôt cloud-build-samples cloné sur votre propre compte GitHub.
Dans votre terminal, accédez au répertoire
quickstart-automate:cd cloud-build-samples/quickstart-automateOuvrez le fichier
main.goet remplacez la ligne "Hello, world!" par "Hello, universe!"package main import ( "fmt" ) func main() { fmt.Println("Hello, universe!") }
Examinez le fichier de configuration de compilation
, utilisé par Cloud Build. Lorsqu'une compilation est appelée avec un déclencheur, l'étape de compilation figurant dans ce fichier indique à Cloud Build d'utiliser l'imagecloudbuild.yamlgolangde Docker Hub pour créer et exécuter le fichiermain.go.steps: - name: golang script: go run quickstart-automate/main.go
Revenez au répertoire racine de votre dépôt :
cd ..Validez vos modifications dans GitHub en exécutant les commandes suivantes :
git add quickstart-automate/main.go git commit -m "update text" git pushVous pouvez être invité à saisir vos identifiants lorsque vous transférez du code vers votre dépôt. Le cas échéant, fournissez votre nom d'utilisateur et votre mot de passe, ou un jeton d'authentification.
Vous venez de déployer une modification dans le dépôt, Votre déclencheur lance alors une compilation automatique.
Afficher les informations sur le build
Dans cette section, vous allez afficher les détails de la compilation associée à votre compilation appelée après avoir validé une modification.Dans le Google Cloud menu de navigation de la console, cliquez sur Cloud Build > Historique.
Sélectionnez votre projet et cliquez sur Ouvrir.
La page Build history (Historique de compilation) s'affiche :
Dans la colonne
Build , cliquez sur le nom d'un build.Sur la page Informations sur la compilation, cliquez sur
Artefacts de compilation .Un résultat semblable aux lignes suivantes s'affiche :
Pour afficher le journal des compilations, cliquez sur l'
icône de téléchargement , puis affichez le fichier téléchargé.
Vous avez appelé une compilation Cloud Build à l'aide d'un déclencheur et consulté les informations sur la compilation.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :
Dans le Google Cloud menu de navigation de la console, cliquez sur Cloud Build > Déclencheurs.
Sélectionnez votre projet et cliquez sur Ouvrir.
Sur la ligne
hello-world-trigger, cliquez sur lemenu d'actions (icône représentant des points verticaux) à l'extrémité droite de la ligne.Sélectionnez Supprimer.
Vous avez maintenant supprimé le déclencheur associé à votre dépôt cloné.
Étape suivante
- Apprenez à créer un fichier de configuration de compilation de base.
- Découvrez comment créer et gérer des déclencheurs de compilation.