Vous pouvez utiliser Cloud Build pour automatiser la compilation et le déploiement de code dans Cloud Run à l'aide d'un déclencheur Cloud Build, qui compile et déploie automatiquement votre code chaque fois que de nouveaux commits sont envoyés vers une branche donnée d'un dépôt Git. 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.
Lorsque vous créez des conteneurs à l'aide d'un déclencheur Cloud Build, les informations du dépôt source s'affichent dans Google Cloud Console pour votre service après le déploiement sur Cloud Run.
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.
Rôles requis
Pour obtenir les autorisations nécessaires pour déployer des services Cloud Run à partir de Git à l'aide de Cloud Build, 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 Service Usage (
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
)
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 les API Google 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 sections Autorisations de déploiement et Gérer les accès.
Configurer un déploiement continu à partir de l'interface utilisateur de 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
Créez un service comme décrit dans la section Déployer un nouveau service, en veillant à sélectionner Déployer de nouvelles révisions en continu à partir d'un dépôt source dans la page Paramètres des services.
Dans la page Paramètres des services, cliquez sur Configurer avec Cloud Build.
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.
Cliquez sur Suivant.
Renseignez les options pour l'étape de "Build Configuration" (Configuration de la compilation) :
- Branch (Branche) : indique la source à utiliser lors de l'exécution du déclencheur. Vous pouvez insérer ici une expression régulière. 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
Si votre dépôt doit être créé à l'aide de Docker et qu'il contient un fichier Dockerfile, sélectionnez Dockerfile. Emplacement source indique 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.
Sinon, sélectionnez packs de création Google Cloud. Utilisez le contexte du pack de création pour spécifier le répertoire et le point d'entrée (facultatif) pour fournir la commande permettant de démarrer le serveur. Exemple :
gunicorn -p :8080 main:app
pour Python,java -jar target/myjar.jar
pour Java. Laissez le champ vide pour appliquer le comportement par défaut.
Cliquez sur Enregistrer.
Vérifiez les paramètres sélectionnés.
Cliquez sur Créer.
Notez que vous êtes redirigé vers la page Détails du service, où vous pouvez suivre la progression de la configuration de votre déploiement continu.
Une fois toutes les étapes terminées, veuillez noter les options supplémentaires suivantes :
- Modifiez le déploiement continu.
- Historique de compilation
- Détails de la source figurant dans la section Détails de la révision
Service existant
Localisez le service dans la liste des services, puis cliquez dessus.
Cliquez sur Configurer le déploiement continu.
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.
Cliquez sur Suivant.
Renseignez les options pour l'étape de "Build Configuration" (Configuration de la compilation) :
- Branch (Branche) : indique la source à utiliser lors de l'exécution du déclencheur. Vous pouvez insérer ici une expression régulière. 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
Si votre dépôt doit être créé à l'aide de Docker et qu'il contient un fichier Dockerfile, sélectionnez Dockerfile. Emplacement source indique 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.
Sinon, sélectionnez packs de création Google Cloud. Utilisez le contexte du pack de création pour spécifier le répertoire et le point d'entrée (facultatif) pour fournir la commande permettant de démarrer le serveur. Exemple :
gunicorn -p :8080 main:app
pour Python,java -jar target/myjar.jar
pour Java. Laissez le champ vide pour appliquer le comportement par défaut.
Cliquez sur Enregistrer.
La page est actualisée et affiche la progression de la configuration du déploiement continu.
Une fois toutes les étapes terminées, veuillez noter les options supplémentaires suivantes :
- Modifiez le déploiement continu.
- Historique de compilation
- Détails de la source figurant 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 et exploiter les fonctionnalités de la console Google Cloud depuis la page "Détails du service" : bouton Modifier le déploiement continu et graphique Historique de compilation.
Pour ce faire, ajoutez un libellé ayant comme clé gcb-trigger-id et comme valeur l'identifiant unique (et non le nom) du déclencheur Cloud Build. Consultez la section Définir ou modifier des libellés pour configurer le libellé.