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 soit Cloud Build ou Developer Connect dans la console Cloud Run.
Lorsque vous configurez cette option, Cloud Run utilise un déclencheur de compilation 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 Google Cloud console 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, 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
Dockerfileou votre codebase est écrit dans l'un des langages acceptés par les packs de création Google Cloud. Activez l'API Cloud Build.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Si vous sélectionnez l'option Developer Connect, activez l'API Developer Connect :
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 de Developer Connect, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
- Administrateur Artifact Registry (
roles/artifactregistry.admin) - Éditeur Cloud Build (
roles/cloudbuild.builds.editor) - Développeur Cloud Run (
roles/run.developer) - Utilisateur du compte de service (
roles/iam.serviceAccountUser) - Administrateur de l'utilisation du service (
roles/serviceusage.serviceUsageAdmin)
Le compte de service qui exécute la compilation doit disposer des rôles suivants :
- Compte de service Cloud Build (
roles/cloudbuild.builds.builder) - Administrateur Cloud Run (
roles/run.admin) - Utilisateur du compte de service (
roles/iam.serviceAccountUser) - Si vous sélectionnez l'option Developer Connect :
- Accesseur de jetons en lecture Developer Connect (
roles/developerconnect.readTokenAccessor) - Si vous vous connectez à des dépôts GitLab ou Bitbucket : Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor)
- Accesseur de jetons en lecture Developer Connect (
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 Google Cloud des API, 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
Dans la Google Cloud console, accédez à la page Cloud Run :
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, localisez-le dans la liste des services, puis cliquez dessus. Cliquez sur Se connecter au dépôt.
Sélectionnez Cloud Build ou Developer Connect.
Si vous avez sélectionné Cloud Build, consultez Configurer avec Cloud Build.
Si vous avez sélectionné Developer Connect, consultez Configurer avec Developer Connect.
Service existant
Dans la Google Cloud console, accédez à la page Cloud Run :
Localisez le service dans la liste des services, puis cliquez dessus.
Cliquez sur Se connecter au dépôt , puis suivez les instructions de la section Configurer avec Cloud Build.
Configurer avec Cloud Build
Dans le volet Configurer avec Cloud Build :
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 et 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 connectés. Suivez les instructions pour accorder à votre dépôt l'accès à Cloud Build.
À l'étape Configuration de la compilation, renseignez les options :
Branche
- Indique la source à utiliser lors de l'exécution du déclencheur. 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 : si votre dépôt doit être créé à l'aide de Docker et qu'il contient un fichier Dockerfile, sélectionnez cette option.
- 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 packs de création Google Cloud : si votre dépôt doit être créé à l'aide de packs de création, sélectionnez cette option.
- Dans le Répertoire du contexte de compilation, spécifiez le répertoire.
- Dans Point d'entrée (facultatif), fournissez la commande permettant de démarrer le serveur. Par exemple,
gunicorn -p :8080 main:apppour Python etjava -jar target/myjar.jarpour Java. Laissez ce champ vide pour appliquer le comportement par défaut. - Dans Fonction cible (pour les déploiements de fonctions uniquement), saisissez la fonction à appeler. Sinon, laissez le champ vide.
Cliquez sur Enregistrer.
La page se recharge et vous redirige vers le formulaire Créer un service.
Vérifiez les paramètres sélectionnés dans la section Dépôt source.
Remplissez le reste du formulaire sous Configurer.
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 compilation et du déploiement à partir du dépôt.
Une fois toutes les étapes terminées, vous pouvez :
- cliquer sur Modifier les paramètres du dépôt dans la console Cloud Run pour modifier le déclencheur de compilation Cloud Build dans la console Cloud Build ;
- afficher l'historique des compilations en cliquant sur le lien journaux à l'étape Compilation et déploiement à partir du dépôt ;
- afficher 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 de compilation Cloud Build existant au service Cloud Run
Si vous disposez déjà d'un déclencheur de compilation Cloud Build, vous pouvez l'associer au service en ajoutant une étiquette à votre service Cloud Run.
Pour ajouter un libellé dans la console Cloud Run :
Dans la Google Cloud console, accédez à la page Cloud Run :
Sélectionnez votre service.
Pour le service sélectionné, cliquez sur Libellés en haut de la page pour ouvrir le volet Libellés.
Ajoutez un libellé avec gcb-trigger-id comme clé et l' identifiant unique du déclencheur de compilation Cloud Build comme valeur (et non le nom du déclencheur). Si la clé gcb-trigger-id existe déjà, modifiez la valeur. Consultez Définir ou modifier des libellés pour configurer le libellé.
Configurer avec Developer Connect
Dans le volet Configurer avec Developer Connect :
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 nouveau 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 Se connecter.
Si aucune boîte de dialogue ne s'affiche, désactivez les plug-ins de navigateur qui bloquent les pop-ups 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 du fait que l'application GitHub Cloud Run est déjà installée ou non 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 des dépôts en procédant comme suit :
Choisissez le compte GitHub que vous souhaitez utiliser.
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 procédant comme suit :
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.
Si le compte que vous souhaitez utiliser ne s'affiche pas, procédez comme suit :
Sélectionnez Installer l'application GitHub sur un autre compte GitHub , puis cliquez sur Confirmer.
Suivez les étapes GitHub pour autoriser l'installation de l'application.
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 :
-
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 du créateur du jeton ou d'un administrateur. Pour savoir comment gérer les paramètres d'expiration et les notifications 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.
- Jeton d'accès à l'API : saisissez le jeton d'accès personnel avec le champ d'application
Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.
- 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 :
Dans le champ URL de l'hôte, saisissez l'URL de l'hôte auquel vous souhaitez vous connecter.
-
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 du créateur du jeton ou d'un administrateur. Pour savoir comment gérer les paramètres d'expiration et les notifications 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.
- Jeton d'accès à l'API : saisissez le jeton d'accès personnel avec le champ d'application
Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.
- 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 :
Dans le champ Espace de travail, saisissez l'ID de votre espace de travail Bitbucket Cloud.
Dans la section Jetons d'accès, saisissez vos jetons d'accès Bitbucket :
- Jeton d'accès de l'agent d'autorisation : saisissez votre jeton d'accès de l'agent d'autorisation.
- Jeton d'accès en lecture : saisissez votre jeton d'accès en lecture.
Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.
- 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 :
Dans le champ URL de l'hôte, saisissez l'URL de l'hôte Bitbucket Data Center auquel vous souhaitez vous connecter.
Dans la section Jetons d'accès, saisissez vos jetons d'accès Bitbucket Cloud :
Jeton d'accès administrateur : saisissez le jeton avec l'accès au champ d'application administrateur du dépôt.
Jeton d'accès en lecture : saisissez le jeton avec l'accès au champ d'application en lecture du dépôt.
Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.
- Facultatif : dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Cloud Run.
Cliquez sur Connect (Se connecter). Cette opération peut prendre quelques secondes.
À l'étape Configuration de la compilation, renseignez les options :
Branche
- Indique la source à utiliser lors de l'exécution du déclencheur. 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 : si votre dépôt doit être créé à l'aide de Docker et qu'il contient un fichier Dockerfile, sélectionnez cette option.
- 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 packs de création Google Cloud : si votre dépôt doit être créé à l'aide de packs de création, sélectionnez cette option.
- Dans le Répertoire du contexte de compilation, spécifiez le répertoire.
- Dans Point d'entrée (facultatif), fournissez la commande permettant de démarrer le serveur. Par exemple,
gunicorn -p :8080 main:apppour Python etjava -jar target/myjar.jarpour Java. Laissez ce champ vide pour appliquer le comportement par défaut. - Dans Fonction cible (pour les déploiements de fonctions uniquement), saisissez la fonction à appeler. Sinon, laissez le champ vide.
Cliquez sur Enregistrer.
Remplissez le reste du formulaire sous Configurer.
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.
Cliquez sur le lien URL affiché pour ouvrir le point de terminaison unique et stable de votre service déployé.