Développer un service Cloud Run en local dans Cloud Code pour VS Code

Avant de déployer un service sur Cloud Run, vous pouvez le développer localement à l'aide d'un émulateur Cloud Run.

Configurer votre service pour le développement

Si vous n'avez pas défini de fichier .vscode/launch.json, la boîte de dialogue Run/Debug on Cloud Run Emulator (Exécuter/Déboguer sur l'émulateur Cloud Run) vous permet de configurer votre lancement, puis d'enregistrer vos paramètres dans .vscode/launch.json. Si vous avez un .vscode/launch.json configuré, vous pouvez le modifier directement.

Pour exécuter votre service en local, spécifiez votre configuration :

  1. Ouvrez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Affichage > Palette de commandes), puis exécutez la commande Run on Cloud Run Emulator (Exécuter sur l'émulateur Cloud Run).
  2. Dans la boîte de dialogue "Run/Debug on Cloud Run Emulator" (Exécution/Débogage sur l'émulateur Cloud Run), définissez les spécifications de votre configuration :

    • Seuls les outils de compilation installés localement sont disponibles pour l'émulateur Cloud Run.
    • Choisissez Docker ou Buildpacks comme compilateur, puis spécifiez la source.
    • (Facultatif) Pour spécifier des variables d'environnement à transmettre aux conteneurs en cours d'exécution, développez Advanced Build Settings (Paramètres de compilation avancés), puis cliquez pour spécifier des paires clé-valeur.
      Nom Description Exemple
      PORT Port sur lequel le serveur HTTP doit écouter. 8080
      K_SERVICE Nom du service Cloud Run en cours d'exécution. hello-world
      K_REVISION Nom de la révision Cloud Run en cours d'exécution. bonjour-monde.1
      K_CONFIGURATION Nom de la configuration Cloud Run ayant créé la révision. hello-world
    • (Facultatif) Pour spécifier des connexions Cloud SQL, développez Paramètres avancés du service, cliquez sur Connexions, puis spécifiez-en une. Nombre de connexions Cloud SQL par ligne.
    • (Facultatif) Cochez l'option Rendre le service accessible depuis d'autres appareils sur le réseau local.
    • (Facultatif) Si vous ne souhaitez recompiler et exécuter votre service manuellement, au lieu de le faire automatiquement lorsque vous apportez une modification, décochez l'option Recompiler et réexécuter automatiquement en cas de modification.

Exécuter votre service en local

  1. Après avoir défini les paramètres de votre choix, exécutez votre service en cliquant sur Run (Exécuter).

  2. Si vous y êtes invité, authentifiez vos identifiants pour exécuter et déboguer une application localement.

  3. Surveillez l'état de votre déploiement dans la fenêtre de sortie.

    Une fois le déploiement terminé, vous pouvez afficher votre service en cours d'exécution en ouvrant l'URL affichée dans la fenêtre de sortie.

  4. Pour afficher les journaux détaillés, passez à la vue détaillée de Cloud Run dans la fenêtre de sortie.

    Volet de sortie avec "hello-world-5" – "Détaillé" sélectionné dans le menu déroulant du canal de sortie

  5. Une fois la session terminée, effectuez un clic droit pour utiliser les commandes suivantes:

    • Afficher les journaux : ouvrez les journaux d'application d'un déploiement spécifique avec l'explorateur de journaux Cloud Code.
    • Ouvrir l'URL : ouvrez l'URL du service d'application d'un service spécifique dans un navigateur Web.
  6. Si vous avez désactivé le mode de surveillance dans votre configuration de lancement et que vous souhaitez modifier votre application, puis la recompiler et la redéployer, cliquez sur la barre d'état de Cloud Code, puis sur Activer le mode de surveillance.

  7. Pour arrêter votre déploiement, vous pouvez cliquer sur le bouton Stop (Arrêter) dans la barre d'action correspondant à votre déploiement actuel.

    Barre d'actions pour le déploiement Cloud Run

Stocker des secrets

Si votre code inclut des données potentiellement sensibles telles que des clés API, des mots de passe et et les stocker en tant que secrets peut aider à les sécuriser. L'intégration de Secret Manager à Cloud Code vous permet de stocker ces secrets de manière sécurisée et de les récupérer de manière automatisée. Pour découvrir en détail comment vous pouvez créer et gérer des secrets avec Cloud Code, consultez le guide Secret Manager.

Personnaliser une configuration launch.json existante

Le plug-in Cloud Code met automatiquement à jour le fichier de configuration launch.json lorsque vous choisissez une action d'exécution. Pour personnaliser davantage l'exécution de votre service, vous pouvez spécifier les champs suivants dans votre fichier .vscode/launch.json :

  • watch : surveille les modifications apportées à l'espace de travail et réexécute le service. True par défaut.

    L'exemple suivant montre la montre définie sur true :

    "watch": true,
    
  • build: spécifiez le compilateur. (Docker, jibMaven, jibGradle ou packs de création) pour créer vos images.

    L'exemple suivant montre un compilateur Docker :

    "build": {
      "docker": {
        "path": "Dockerfile"
      }
    },
    

    L'exemple suivant présente un compilateur buildpack:

    "build": {
      "buildpacks": {
        "path": "src/requirements.txt",
        "builder": "gcr.io/buildpacks/builder:v1"
      }
    },
    
  • image : spécifiez le nom de l'image à utiliser.

    L'exemple suivant montre comment spécifier un nom d'image :

      "image": "hello-world",
    
  • service : spécifiez le service Cloud Run à utiliser.

    L'exemple suivant montre comment spécifier un nom de service, un port et des limites de ressources :

    "service": {
      "name": "hello-world",
      "containerPort": 8080,
      "resources": {
        "limits": {
          "memory": "256Mi"
        }
      }
    },
    
  • debug: spécifiez des paramètres de débogage tels que le mappage de chemin d'accès à distance pour mapper un objet vers un chemin d'accès sur le conteneur distant.

    L'exemple suivant montre une section de débogage qui indique les fichiers sources lieu:

    "debug": {
      "sourceFileMap": {
        "${workspaceFolder}": "/app"
      }
    }
    

Obtenir de l'aide

Pour envoyer vos commentaires, signalez tout problème sur GitHub ou posez une question sur Stack Overflow.