Exécuter des compilations sur GitHub

Cloud Build fournit une application GitHub Cloud Build qui vous permet de compiler automatiquement votre code chaque fois que vous envoyez un nouveau commit à GitHub.

Ce tutoriel explique comment installer et configurer l'application, et déclencher automatiquement les compilations sur GitHub.

Objectifs

Au cours de ce tutoriel, vous allez :

  • préparer un dépôt GitHub avec du code source à compiler ;
  • installer et configurer l'application GitHub Google Cloud Build ;
  • apporter des modifications à votre code source sur GitHub et créer une demande d'extraction pour les modifications ;
  • observer que l'application Google Cloud Build compile le code et publie les résultats sous forme de demande d'extraction ;
  • afficher les résultats de la compilation sur GitHub et dans Cloud Console ;
  • découvrir les différentes façons de configurer vos compilations.

Coûts

Ce tutoriel utilise les composants facturables suivants de Google Cloud :

  • Cloud Build

    Les 120 premières minutes de compilation par jour sont gratuites. Vous serez facturé pour les compilations utilisées au-dessus de ce seuil. Pour plus d'informations, consultez la section Tarifs.

  • Container Registry

    Si vous compilez à l'aide d'un fichier Dockerfile et que vous stockez l'image compilée dans Container Registry, les frais de stockage et de sortie réseau utilisés par vos images Docker seront facturés. Pour plus d'informations, consultez la page Tarifs de Container Registry.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. 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 gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Créez un compte GitHub si vous n'en possédez pas.
  5. Activez l'API Cloud Build dans le projet Cloud cible.

    Activer l'API Cloud Build

Préparer un dépôt GitHub avec des fichiers sources

Pour que vous puissiez utiliser l'application Google Cloud Build, le dépôt doit contenir un fichier Dockerfile ou un fichier cloudbuild.yaml permettant de configurer la compilation. Votre fichier Dockerfile ou cloudbuild.yaml peut être situé à la racine ou dans un sous-répertoire de votre dépôt.

Le fichier Dockerfile est le fichier de configuration permettant de compiler des conteneurs Docker. Si vous utilisez l'application pour compilations Docker, celle-ci est suffisante si le dépôt contient un fichier Dockerfile. L'exemple de ce tutoriel est configuré à l'aide d'un fichier Dockerfile.

cloudbuild.yaml est le fichier de configuration pour Cloud Build. Utilisez un fichier cloudbuild.yaml dans les scénarios suivants :

  • Si vous souhaitez configurer vos compilations Docker avec précision, vous pouvez fournir un fichier cloudbuild.yaml en plus du Dockerfile. Si votre dépôt contient un Dockerfile et un fichier cloudbuild.yaml, l'application Google Cloud Build utilise le fichier cloudbuild.yaml pour configurer les compilations.

  • Si vous souhaitez utiliser l'application Google Cloud Build pour des compilations non Docker.

Pour obtenir des instructions sur la création d'un cloudbuild.yaml, consultez les sections Présentation de la configuration des compilations et Créer un fichier de configuration de compilation de base.

Dupliquer l'exemple de dépôt

Pour suivre l'exemple de ce tutoriel, vous avez besoin d'un dépôt GitHub et de code source à compiler. Nous fournissons à cet effet un exemple de tutoriel que vous devez dupliquer avant de continuer.

Procédez comme suit pour dupliquer l'exemple de dépôt. Les fichiers source du dépôt incluent un fichier helloworld.sh et un fichier Dockerfile, que vous utiliserez pour compiler votre image Docker.

  1. Sur GitHub, accédez à /GoogleCloudBuild/gcbapp-dockerfile-example.

  2. Dans le coin supérieur droit de la page, cliquez sur Fork (Diviser).

    Capture d'écran du bouton de division

    Vous disposez maintenant d'une copie du dépôt gcbapp-dockerfile-example avec les fichiers sources.

Installer l'application Google Cloud Build

Dans cette section, vous allez installer l'application Google Cloud Build. Cela vous permettra de connecter votre dépôt GitHub à votre projet Cloud et de configurer une intégration continue pour gcbapp-dockerfile-example.

Au cours du processus d'installation et de configuration, vous serez d'abord invité à autoriser l'application Google Cloud Build à se connecter à Google Cloud Platform. Une fois l'autorisation accordée, vous êtes redirigé vers Cloud Console où vous pouvez sélectionner votre projet Cloud. Vous serez ensuite redirigé vers GitHub.

Procédez comme suit pour installer l'application seulement pour le dépôt gcbapp-dockerfile-example. Vous pouvez choisir de l'installer pour plusieurs dépôts ou l'ensemble de ceux-ci.

  1. Si vous ne l'avez pas déjà fait, activez l'API Cloud Build dans le projet Cloud cible.

  2. Accédez à la page GitHub Marketplace de l'application Google Cloud Build.

    Ouvrir la page de l'application Cloud Build

  3. Faites défiler la page, puis cliquez sur Configurer avec Google Cloud Build en bas de la page.

  4. Si vous y êtes invité, connectez-vous à GitHub.

  5. Sur la page Modifier votre forfait, sélectionnez ou mettez à jour vos informations de facturation, puis cliquez sur accorder l'accès à cette application. Si vous avez déjà acheté l'application GitHub Cloud Build et que vous la réinstallez, ignorez cette étape.

  6. Sélectionnez l'une des options suivantes en fonction des besoins de votre entreprise :

    • Tous les dépôts : permet d'activer tous les dépôts GitHub actuels et futurs pour y accéder via l'application Cloud Build.

    • Sélectionner uniquement les dépôts : utilisez la liste déroulante Sélectionner des dépôts pour n'autoriser l'accès qu'à certains dépôts via l'application Cloud Build. Vous pouvez activer des dépôts supplémentaires ultérieurement.

  7. Cliquez sur Installer.

  8. Connectez-vous à Google Cloud.

    La page Autorisation, qui vous invite à autoriser l'application Google Cloud Build à se connecter à Google Cloud Platform, s'affiche.

    Capture d'écran du bouton d'autorisation

  9. Cliquez sur Authorize Google Cloud Build by GoogleCloudBuild (Autoriser Google Cloud Build par GoogleCloudBuild).

    Vous êtes redirigé vers Cloud Console.

  10. Sélectionnez votre projet Cloud.

  11. Cochez la case pour accorder votre autorisation, puis cliquez sur Suivant.

  12. Sur la page Sélectionner un dépôt qui s'affiche, connectez vos dépôts GitHub à votre projet Cloud comme suit :

    a. Vérifiez que le compte GitHub approprié a été sélectionné.

    b. Cochez la case correspondant à chaque dépôt cible.

    c. Lisez la clause de non-responsabilité et cochez la case à côté de celle-ci pour indiquer que vous acceptez les conditions d'utilisation.

    d. Cliquez sur Connecter un dépôt.

    Si vous ne voyez pas un ou plusieurs de vos dépôts cibles, cliquez sur Modifier les dépôts sur GitHub et répétez les étapes ci-dessus pour activer d'autres dépôts dans l'application Cloud Build.

  13. Si vous souhaitez créer un ou plusieurs déclencheurs initiaux par défaut qui permettent de procéder à des compilations grâce à un déclencheur push de branche, utilisez la page Créer un déclencheur push qui s'affiche pour ces déclencheurs. Cochez les cases correspondant à chaque dépôt cible, puis cliquez sur Créer des déclencheurs push. Sinon, ignorez cette étape.

Vous avez installé l'application Google Cloud Build, connecté les dépôts de votre choix à votre projet Cloud et créé des déclencheurs push qui lanceront votre (ou vos) compilation(s).

Connecter des dépôts supplémentaires

Si vous souhaitez connecter d'autres dépôts à votre projet Cloud, procédez comme suit :

  1. Accédez à la page Cloud Build de gestion des installations GitHub.

  2. Sélectionnez votre compte GitHub, puis cliquez sur Continuer.

  3. Cliquez sur Ajouter un autre projet.

  4. Sous Paramètres du projet, sélectionnez votre projet ou créez-en un nouveau.

  5. Cliquez sur Connecter un dépôt.

  6. Sous Sélection du dépôt, sélectionnez tous les référentiels à associer à votre projet.

  7. Si vous le souhaitez, dans Paramètres du déclencheur, sélectionnez tous les dépôts pour lesquels vous souhaitez créer un déclencheur push.

  8. Pour créer un déclencheur, cliquez sur Créer un déclencheur push. Sinon, cliquez sur Ignorer pour le moment pour revenir à la liste de dépôts connectés.

  9. Cliquez sur OK.

Mettre à jour le compte GitHub authentifié

Si vous devez mettre à jour le compte GitHub associé à votre compte Google, vous pouvez accéder à la page S'authentifier avec GitHub. Cela peut s'avérer nécessaire si vous avez effectué le flux de dépôt de connexion initial avec un autre compte que votre compte GitHub principal. Vous devrez peut-être effectuer cette opération si vous remarquez que la page Cloud Build Connect Repository indique que l'application GitHub n'est installée sur aucun dépôt après l'installation de Cloud Build{101. } sur GitHub.

Compiler à l'aide de l'application Google Cloud Build

Les fichiers sources de gcbapp-dockerfile-example consistent simplement en un fichier helloworld.sh et un Dockerfile. Dans cette section, vous allez modifier le code de helloworld.sh et créer une demande d'extraction pour archiver vos modifications.

L'application Google Cloud Build compile votre code lorsque vous envoyez un nouveau commit dans le dépôt. Les compilations correspondant aux commits envoyés inclus dans les demandes d'extraction sont comprises dans l'UI de demande d'extraction.

  1. Ouvrez le fichier helloworld.sh dans gcbapp-dockerfile-example :

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example/blob/master/helloworld.sh
    
  2. Cliquez sur l'icône en forme de crayon pour modifier le fichier.

    Capture d'écran du bouton de modification du fichier

  3. Ajoutez la ligne suivante à la fin du fichier :

    echo "The time is $(date)."
    
  4. Sélectionnez Create a new branch for this commit and start a pull request (Créez une branche pour ce commit et démarrez une demande de fusion), puis cliquez sur Propose file change (Proposer la modification de fichier).

  5. Cliquez sur Create pull request (Créer une demande de fusion).

    Cela permet de lancer Cloud Build pour compiler le code.

  6. Accédez à l'onglet Checks (Vérifications).

    Capture d'écran de l'onglet de vérification

    Cloud Build a compilé vos modifications et vous voyez que la compilation s'est déroulée avec succès. D'autres informations s'affichent également, telles que le temps nécessaire à la compilation du code, l'ID de la compilation, etc.

  7. Cliquez sur Afficher plus d'informations sur Google Cloud Build.

    La page Informations sur la compilation de Cloud Console s'ouvre. Vous pouvez y voir des informations sur la compilation, comme l'état, les journaux et les étapes.

  8. Accédez à l'onglet GitHub du navigateur et à l'onglet Conversation.

    Capture d'écran de l'onglet de conversation

  9. Cliquez sur Fusionner la requête d'extraction, puis sur Confirmer la fusion.

    Et voilà ! Vous avez vérifié que vos modifications de code ont été compilées correctement et archivé vos modifications.

Exemples supplémentaires

Voici quelques exemples de dépôts contenant des exemples de code utilisant cloudbuild.yaml comme fichier de configuration. Vous pouvez diviser le dépôt et suivre les étapes décrites dans ce tutoriel pour compiler le code :

Nettoyer

Une fois le tutoriel Cloud Build terminé, vous pouvez procéder au nettoyage des ressources que vous avez créées sur Google Cloud afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.

Supprimer la connexion entre le dépôt et l'application Google Cloud Build

Pour ne plus déclencher de compilation à l'aide de l'application Cloud Build, supprimez l'association entre votre dépôt et l'application en procédant comme suit :

  1. Accédez à la page des paramètres de votre profil GitHub :

    Ouvrir la page de profil GitHub

  2. Connectez-vous à votre compte GitHub.

  3. Sous Personnal settings (paramètres personnels), cliquez sur Applications.

  4. Localisez la ligne associée à Google Cloud Build, puis cliquez sur Configure (configurer).

  5. Sous Accès au dépôt, localisez [YOUR_GITHUB_USERNAME]/gcbapp-dockerfile-example, puis cliquez sur X.

  6. Cliquez sur Enregistrer.

    Vous allez être redirigé vers Google Cloud.

  7. Connectez-vous à Google Cloud.

  8. Sur la page Cloud Build, localisez l'association entre votre projet Cloud et gcb-dockerfile-example, puis cliquez sur Dissocier.

Vous avez maintenant supprimé l'association entre gcb-dockerfile-example et l'application Google Cloud Build. Cloud Build ne déclenchera plus de compilation du code de gcb-dockerfile-example.

Désinstaller l'application Google Cloud Build

  1. Accédez à la page de l'application GitHub pour Google Cloud Build.

    Ouvrir la page de l'application Cloud Build

  2. Cliquez sur Configurer.

  3. Sélectionnez votre nom d'utilisateur ou l'organisation dans laquelle vous avez installé l'application.

  4. Cliquez sur Désinstaller.

Supprimer le dépôt GitHub

  1. Sur GitHub, accédez à la page principale du dépôt.

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example
    
  2. Sous le nom de votre dépôt, cliquez sur Settings (Paramètres).

  3. Sous "Danger Zone" (Zone de danger), cliquez sur Delete this repository (Supprimer ce dépôt).

  4. Saisissez le nom de votre dépôt pour confirmer votre choix, puis cliquez sur I understand the consequences, delete this repository (Je comprends les conséquences, supprimer ce dépôt).

Supprimer les images de conteneur

  1. Ouvrez la page Container Registry dans Google Cloud Console.

    Ouvrir la page Container Registry.

  2. Sélectionnez votre projet et cliquez sur Ouvrir.

  3. Ouvrez gcbapp-dockerfile-example.

  4. Sélectionnez toutes les images et cliquez sur Supprimer.

Les images que vous avez créées dans le cadre de ce tutoriel sont supprimées de votre projet.

Supprimer le projet

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

Pour supprimer le projet :

  1. Dans Cloud Console, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étape suivante