Déploiement continu à partir de Git à l'aide de Cloud Build

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 de création d'un dépôt de modèles et de déploiement continu à partir de git, consultez le guide de démarrage rapide du déploiement continu.

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.

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.
  • Activer les API Cloud Build et Cloud Source Repositories .

    Activer les API

Configurer un déploiement continu à partir de l'interface utilisateur de Cloud Run

La procédure 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. 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.

  2. Dans la page Paramètres des services, cliquez sur Configurer avec Cloud Build.

  3. 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.

    Configurer le déploiement continu, étape 1

  4. Cliquez sur Next (Suivant).

  5. 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.

    Configurer le déploiement continu, étape 2

  6. Cliquez sur Save (Enregistrer).

  7. Vérifiez les paramètres sélectionnés.

    Valider la configuration du déploiement continu

  8. Cliquez sur Create (Créer).

  9. 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.

  10. Une fois toutes les étapes terminées, veuillez noter les options supplémentaires suivantes :

Service existant

  1. Accédez à Cloud Run

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

  3. Cliquez sur Configurer le déploiement continu.

  4. 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.

    Configurer le déploiement continu, étape 1

  5. Cliquez sur Next (Suivant).

  6. 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.

    Configurer le déploiement continu, étape 2

  7. Cliquez sur Save (Enregistrer).

  8. La page est actualisée et affiche la progression de la configuration du déploiement continu.

  9. Une fois toutes les étapes terminées, veuillez noter les options supplémentaires suivantes :

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 Google Cloud Console depuis la page "Détails du service" : bouton Modifier le déploiement continu et graphique Historique de compilation.

Pour ce faire, vous devez ajouter un libellé ayant comme clé gcb-trigger-id et comme valeur l'identifiant unique (et non le nom) du déclencheur Cloud Build. Consultez les instructions de configuration d'un libellé.