Déployer en continu depuis un dépôt

Si vous disposez de code source ou de fonctions dans un dépôt Git et que vous souhaitez automatiser les compilations et configurer des déploiements continus à partir d'un dépôt, vous pouvez utiliser Cloud Build ou Developer Connect dans la console Cloud Run.

Lorsque vous configurez cette option, Cloud Run utilise un déclencheur Cloud Build pour compiler et déployer automatiquement votre code chaque fois que de nouveaux commits sont transférés vers une branche donnée d'un dépôt Git. Les informations du dépôt source s'affichent dans la console Google Cloud pour votre service après le déploiement sur Cloud Run.

Dans la console Cloud Run :

  • Si vous sélectionnez Cloud Build, vous pouvez configurer des déploiements continus à partir de GitHub. Pour obtenir un exemple, consultez le guide de démarrage rapide pour créer un dépôt de modèles et le déployer en continu à partir de git.

  • Si vous sélectionnez Developer Connect (Preview), vous pouvez configurer des déploiements continus à partir de dépôts GitHub, GitLab et Bitbucket.

Remarque : Vous pouvez également utiliser Cloud Deploy pour configurer un pipeline de livraison continue afin de déployer des services Cloud Run dans plusieurs environnements.

Avant de commencer

  • Vous disposez d'un dépôt Git avec un Dockerfile ou votre codebase est écrit dans l'un des langages acceptés par les packs de création Google Cloud.
  • 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  • Si vous sélectionnez l'option Developer Connect (Preview), activez l'API Developer Connect :

    Activer l'API

Rôles requis

Pour obtenir les autorisations nécessaires pour déployer des services Cloud Run à partir de Git à l'aide de Cloud Build ou Developer Connect, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

Le compte de service qui exécute la compilation doit disposer des rôles suivants :

Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre service Cloud Run communique avec des APIGoogle Cloud , telles que les bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.

Configurer un déploiement continu à partir de la console Cloud Run

La procédure de configuration varie légèrement selon que vous configurez le déploiement continu pour un nouveau service ou pour un service existant. Cliquez sur l'onglet approprié pour en savoir plus.

Nouveau service

  1. Dans la console Google Cloud , accédez à la page Cloud Run :

    Accédez à Cloud Run

  2. Si vous créez un service, cliquez sur Connecter un dépôt pour afficher le formulaire Créer un service.

    Si vous modifiez un service existant, recherchez-le dans la liste des services, puis cliquez dessus. Cliquez sur Se connecter au dépôt.

  3. Sélectionnez Cloud Build ou Developer Connect.

    1. Si vous avez sélectionné Cloud Build, consultez Configurer avec Cloud Build.

    2. Si vous avez sélectionné Developer Connect, consultez Configurer avec Developer Connect.

Service existant

  1. Dans la console Google Cloud , accédez à la page Cloud Run :

    Accédez à Cloud Run

  2. Localisez le service dans la liste des services, puis cliquez dessus.

  3. Cliquez sur Connect to repo (Se connecter au dépôt) et suivez les instructions de la section Configurer avec Cloud Build.

Configurer avec Cloud Build

Dans le volet Configurer avec Cloud Build :

  1. Sélectionnez un dépôt dans la liste. Notez que le chargement de la liste des dépôts prend quelques instants. Suivez l'invite, puis cliquez sur Suivant.

    GitHub est le fournisseur de dépôts par défaut. Si vous n'êtes pas encore authentifié, cliquez sur S'authentifier et suivez les instructions. La connexion d'un dépôt s'effectue à l'aide de l'application GitHub Cloud Build.

    Si vous ne trouvez pas votre dépôt, cliquez sur le lien Gérer les dépôts associés. Suivez les instructions pour autoriser votre dépôt à accéder à Cloud Build.

  2. Dans l'étape Build Configuration (Configuration de la compilation), renseignez les options :

    • Branche

      • Indique la source à utiliser lors de l'exécution du déclencheur. Vous pouvez insérer ici une regex. Les branches correspondantes sont automatiquement validées et elles apparaissent alors sous l'entrée. Notez que si une seule branche correspond, le déclencheur sera automatiquement exécuté après sa création.
    • Type de build

      • Dockerfile : sélectionnez cette option si votre dépôt doit être créé à l'aide de Docker et qu'il contient un fichier Dockerfile.

        • Dans Emplacement source, spécifiez l'emplacement et le nom du fichier Dockerfile. Le répertoire sera utilisé comme contexte pour le build Docker. Tous les chemins d'accès doivent être relatifs au répertoire actuel.
      • Go, Node.js, Python, Java, .NET Core, Ruby ou PHP via les buildpacks Google Cloud : sélectionnez cette option si votre dépôt doit être créé à l'aide de buildpacks.

        • Dans Répertoire de contexte pour le build, spécifiez le répertoire.
        • Dans Point d'entrée (facultatif), indiquez la commande permettant de démarrer le serveur. Par exemple, gunicorn -p :8080 main:app pour Python et java -jar target/myjar.jar pour Java. Laissez ce champ vide pour appliquer le comportement par défaut.
        • Dans Cible de la fonction (pour les déploiements de fonctions uniquement), saisissez la fonction à appeler. Sinon, laissez le champ vide.
  3. Cliquez sur Enregistrer.

  4. La page se recharge et vous ramène au formulaire Créer un service.

  5. Vérifiez les paramètres sélectionnés dans la section Dépôt source.

  6. Remplissez le reste du formulaire sous Configurer.

  7. Cliquez sur Créer.

    Vous êtes redirigé vers la page Détails du service, où vous pouvez suivre la progression de la configuration de la création et du déploiement à partir du dépôt.

Une fois toutes les étapes terminées, vous pouvez :

  • Cliquez sur Modifier les paramètres du dépôt dans la console Cloud Run pour modifier le déclencheur Cloud Build dans la console Cloud Build.
  • Affichez l'historique des compilations en cliquant sur le lien logs (journaux) à l'étape Création et déploiement à partir du dépôt.
  • Affichez les détails de la source dans la section Détails de la révision.

Configurer manuellement le déploiement continu

Reportez-vous à la section Configurer manuellement le déploiement continu si vous devez passer par une procédure manuelle au lieu de l'interface utilisateur.

Associer le déclencheur Cloud Build existant au service Cloud Run

Si vous disposez déjà d'un déclencheur Cloud Build, vous pouvez l'associer au service en ajoutant un libellé à votre service Cloud Run.

Pour ajouter un libellé dans la console Cloud Run :

  1. Dans la console Google Cloud , accédez à la page Cloud Run :

    Accédez à Cloud Run

  2. Sélectionnez votre service.

  3. Pour le service sélectionné, cliquez sur Libellés en haut de la page pour ouvrir le volet Libellés.

  4. Ajoutez un libellé ayant comme clé gcb-trigger-id et comme valeur l'identifiant unique (et non le nom) du déclencheur Cloud Build. Si la clé gcb-trigger-id existe déjà, modifiez la valeur. Pour configurer le libellé, consultez Définir ou modifier des libellés.

Configurer avec Developer Connect

Dans le volet Configurer avec Developer Connect :

  1. Sélectionnez un dépôt, puis cliquez sur Suivant.

    Si le dépôt que vous souhaitez sélectionner ne s'affiche pas, cliquez sur Associer un dépôt pour ouvrir le volet Associer de nouveaux dépôts via Developer Connect. Cliquez sur l'onglet approprié pour en savoir plus sur la connexion à l'un des fournisseurs de gestion du code source.

    GitHub

    Pour les options GitHub, GitHub Enterprise Cloud et GitHub Enterprise, cliquez sur Connecter.

    Si aucune boîte de dialogue ne s'affiche, désactivez les plug-ins de blocage des pop-ups dans votre navigateur et assurez-vous que les paramètres de votre navigateur autorisent les pop-ups. Par exemple, dans Chrome, suivez les instructions pour autoriser les pop-ups.

    Accordez des autorisations sur votre compte GitHub et associez-le à des dépôts en suivant les instructions ci-dessous. Les invites qui s'affichent dans votre navigateur Web dépendent de l'installation ou non de l'application GitHub Cloud Run sur le compte GitHub.

    Dans la boîte de dialogue Cloud Run, procédez comme suit :

    Si une liste de comptes GitHub s'affiche, installez l'application et associez les dépôts en procédant comme suit :

    1. Choisissez le compte GitHub que vous souhaitez utiliser.

    2. Sélectionnez un ou plusieurs dépôts auxquels vous souhaitez accorder l'accès.

    Si vous êtes invité à réutiliser une installation d'application existante, choisissez où configurer l'application en suivant ces étapes :

    1. Cliquez sur Compte GitHub pour afficher les comptes sur lesquels l'application Google Cloud Run est installée. Si le compte que vous souhaitez utiliser s'affiche, sélectionnez-le en cliquant sur Confirmer.

    2. Si le compte que vous souhaitez utiliser ne s'affiche pas, procédez comme suit :

      1. Sélectionnez Installer l'application GitHub sur un autre compte GitHub, puis cliquez sur Confirmer.

      2. Suivez la procédure GitHub pour autoriser l'installation de l'application.

      3. Sélectionnez un ou plusieurs dépôts auxquels vous souhaitez accorder l'accès.

    Une fois la boîte de dialogue fermée, l'installation de l'application est terminée.

    GitLab

    Pour l'option GitLab :

    1. Dans la section Jetons d'accès personnels, saisissez les jetons de votre compte :

      • Jeton d'accès à l'API : saisissez le jeton d'accès personnel avec le champ d'application api.
      • Jeton d'accès à l'API en lecture seule : saisissez le jeton d'accès personnel avec le champ d'application read_api.

      Vous devez vous assurer que vos jetons GitLab restent valides. Les jetons GitLab ont une durée de vie maximale de 365 jours, sauf indication contraire de la part du créateur du jeton ou d'un administrateur. Pour savoir comment gérer les paramètres et les notifications d'expiration des jetons, consultez la documentation GitLab sur les jetons d'accès personnels.

      Pour en savoir plus, consultez la documentation GitLab sur l'expiration des jetons d'accès personnels.

    2. Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.

    3. Facultatif : Dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Cloud Run.

    GitLab Enterprise Edition

    Pour l'option GitLab Enterprise Edition :

    1. Pour URL de l'hôte, saisissez l'URL de l'hôte auquel vous souhaitez vous connecter.

    2. Dans la section Jetons d'accès personnels, saisissez les jetons de votre compte :

      • Jeton d'accès à l'API : saisissez le jeton d'accès personnel avec le champ d'application api.
      • Jeton d'accès à l'API en lecture seule : saisissez le jeton d'accès personnel avec le champ d'application read_api.

      Vous devez vous assurer que vos jetons GitLab restent valides. Les jetons GitLab ont une durée de vie maximale de 365 jours, sauf indication contraire de la part du créateur du jeton ou d'un administrateur. Pour savoir comment gérer les paramètres et les notifications d'expiration des jetons, consultez la documentation GitLab sur les jetons d'accès personnels.

      Pour en savoir plus, consultez la documentation de GitLab sur l'expiration des jetons d'accès personnels.

    3. Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.

    4. Facultatif : Dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Cloud Run.

    Bitbucket

    Pour l'option Bitbucket Cloud :

    1. Pour Workspace (Espace de travail), saisissez l'ID de votre espace de travail Bitbucket Cloud.

    2. Dans la section Jetons d'accès, saisissez vos jetons d'accès Bitbucket :

    3. Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.

    4. Facultatif : Dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Cloud Run.

    Bitbucket Data Center

    Pour l'option Bitbucket Data Center :

    1. Pour URL de l'hôte, saisissez l'URL de l'hôte Bitbucket Data Center auquel vous souhaitez vous connecter.

    2. Dans la section Jetons d'accès, saisissez vos jetons d'accès Bitbucket Cloud :

      • Jeton d'accès administrateur : saisissez le jeton avec accès au niveau administrateur du dépôt.

      • Jeton d'accès en lecture : saisissez le jeton avec accès au niveau d'accès "lecture de dépôts".

    3. Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.

    4. Facultatif : Dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Cloud Run.
  2. Cliquez sur Se connecter. Ce processus peut prendre quelques secondes.

  3. Dans l'étape Build Configuration (Configuration de la compilation), renseignez les options :

    • Branche

      • Indique la source à utiliser lors de l'exécution du déclencheur. Vous pouvez insérer ici une regex. Les branches correspondantes sont automatiquement validées et elles apparaissent alors sous l'entrée. Notez que si une seule branche correspond, le déclencheur sera automatiquement exécuté après sa création.
    • Type de build

      • Dockerfile : sélectionnez cette option si votre dépôt doit être créé à l'aide de Docker et qu'il contient un fichier Dockerfile.

        • Dans Emplacement source, spécifiez l'emplacement et le nom du fichier Dockerfile. Le répertoire sera utilisé comme contexte pour le build Docker. Tous les chemins d'accès doivent être relatifs au répertoire actuel.
      • Go, Node.js, Python, Java, .NET Core, Ruby ou PHP via les buildpacks Google Cloud : sélectionnez cette option si votre dépôt doit être créé à l'aide de buildpacks.

        • Dans Répertoire de contexte pour le build, spécifiez le répertoire.
        • Dans Point d'entrée (facultatif), indiquez la commande permettant de démarrer le serveur. Par exemple, gunicorn -p :8080 main:app pour Python et java -jar target/myjar.jar pour Java. Laissez ce champ vide pour appliquer le comportement par défaut.
        • Dans Cible de la fonction (pour les déploiements de fonctions uniquement), saisissez la fonction à appeler. Sinon, laissez le champ vide.
  4. Cliquez sur Enregistrer.

  5. Remplissez le reste du formulaire sous Configurer.

  6. Une fois la configuration du service terminée, cliquez sur Créer pour déployer l'image sur Cloud Run, puis patientez jusqu'à la fin du déploiement.

  7. Cliquez sur le lien URL affiché pour ouvrir le point de terminaison unique et stable de votre service déployé.