Cloud Run-Dienst lokal in Cloud Code für VS Code entwickeln

Bevor Sie einen Dienst in Cloud Run bereitstellen, können Sie ihn lokal mit einem Cloud Run-Emulator entwickeln.

Dienst für die Entwicklung konfigurieren

Wenn Sie keine .vscode/launch.json-Datei definiert haben, können Sie im Dialogfeld Ausführen/Fehlerbehebung im Cloud Run-Emulator die Ausführung konfigurieren und die Einstellungen dann in .vscode/launch.json speichern. Wenn Sie eine .vscode/launch.json-Datei konfiguriert haben, können Sie sie direkt bearbeiten.

Um Ihren Dienst lokal auszuführen, geben Sie Ihre Konfiguration an:

  1. Öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd+Shift+P oder klicken Sie auf Ansicht > Befehlspalette) und führen Sie dann den Befehl Auf Cloud Run-Emulator ausführen aus.
  2. Legen Sie im Dialogfeld „Ausführen/Debuggen im Cloud Run-Emulator“ die Spezifikationen für Ihre Konfiguration fest:

    • Für den Cloud Run-Emulator sind nur lokal installierte Build-Tools verfügbar.
    • Wählen Sie Docker oder Buildpacks als Builder aus und geben Sie dann die Quelle an.
    • Optional: Wenn Sie Umgebungsvariablen angeben möchten, die an die laufenden Container übergeben werden sollen, maximieren Sie Erweiterte Build-Einstellungen und klicken Sie dann, um Schlüssel/Wert-Paare anzugeben.
      Name Beschreibung Beispiel
      PORT Der Port, auf dem der HTTP-Server überwacht werden soll. 8080
      K_SERVICE Der Name des ausgeführten Cloud Run-Dienstes. hello-world
      K_REVISION Der Name der ausgeführten Cloud Run-Überarbeitung. hello-world.1
      K_CONFIGURATION Der Name der Cloud Run-Konfiguration, mit der die Überarbeitung erstellt wurde. hello-world
    • Optional: Wenn Sie Cloud SQL-Verbindungen angeben möchten, maximieren Sie Erweiterte Diensteinstellungen, klicken Sie auf Verbindungen und geben Sie dann eine Cloud SQL-Verbindung pro Zeile an.
    • Optional: Klicken Sie das Kästchen Dienst von anderen Geräten im lokalen Netzwerk zugänglich machen an.
    • Optional: Wenn Sie Ihren Dienst nur manuell neu erstellen und ausführen möchten, anstatt ihn bei Änderungen automatisch neu zu erstellen und auszuführen, entfernen Sie das Häkchen bei Bei Änderungen automatisch neu erstellen und noch einmal ausführen.

Dienst lokal ausführen

  1. Nachdem Sie Ihre bevorzugten Einstellungen festgelegt haben, führen Sie den Dienst aus, indem Sie auf Ausführen klicken.

  2. Authentifizieren Sie Ihre Anmeldedaten, um eine Anwendung lokal auszuführen und zu beheben, wenn Sie dazu aufgefordert werden.

  3. Überwachen Sie den Status der Bereitstellung im Ausgabefenster.

    Nach Abschluss der Bereitstellung können Sie den ausgeführten Dienst anzeigen, indem Sie die im Ausgabefenster angezeigte URL öffnen.

  4. Wenn Sie ausführliche Logs aufrufen möchten, wechseln Sie im Ausgabefenster zur detaillierten Cloud Run-Ansicht.

    Ausgabebereich mit „hello-world-5 – Detailliert“ aus dem Drop-down-Menü des Ausgabekanals

  5. Klicken Sie nach Abschluss der Sitzung mit der rechten Maustaste, um die folgenden Befehle zu verwenden:

    • Logs ansehen:Öffnen Sie die Anwendungslogs einer bestimmten Bereitstellung mit dem Cloud Code-Log-Explorer.
    • URL öffnen:Öffnen Sie die Anwendungsdienst-URL eines bestimmten Dienstes in einem Webbrowser.
  6. Wenn Sie den Überwachungsmodus in der Startkonfiguration deaktiviert haben und Sie Änderungen an Ihrer Anwendung vornehmen und die Anwendung neu erstellen und noch einmal bereitstellen möchten, klicken Sie auf die Cloud Code-Statusleiste und dann auf Überwachungsmodus aktivieren.

  7. Klicken Sie in der Aktionsleiste Ihrer aktuellen Bereitstellung auf die Schaltfläche Beenden, um die Bereitstellung zu beenden.

    Aktionsleiste für die Cloud Run-Bereitstellung

Secrets speichern

Wenn Ihr Code potenziell sensible Daten wie API-Schlüssel, Passwörter und Zertifikate enthält, können Sie diese durch Speichern als Secrets schützen. Mit der Secret Manager-Integration von Cloud Code können Sie diese Secrets sicher speichern und programmatisch abrufen. Eine detaillierte Beschreibung dazu, wie Sie Secrets mit Cloud Code erstellen und verwalten können, finden Sie in der Anleitung zu Secret Manager.

Vorhandene Konfiguration von "launch.json" anpassen

Das Cloud Code-Plug-in aktualisiert die launch.json-Konfigurationsdatei automatisch, wenn Sie eine Ausführungsaktion auswählen. Wenn Sie die Ausführung des Diensts weiter anpassen möchten, können Sie die folgenden Felder in Ihrer .vscode/launch.json-Datei angeben:

  • watch: Wartet auf Änderungen im Arbeitsbereich und führt den Dienst noch einmal aus. Standardmäßig ist „wahr“ ausgewählt.

    Im folgenden Beispiel ist die Smartwatch auf true eingestellt:

    "watch": true,
    
  • build: Geben Sie den Builder (Docker, jibMaven, jibGradle oder Buildpacks) an, mit dem Sie Ihre Images erstellen möchten.

    Das folgende Beispiel zeigt einen Docker-Builder:

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

    Das folgende Beispiel zeigt einen Buildpack-Builder:

    "build": {
      "buildpacks": {
        "path": "src/requirements.txt",
        "builder": "gcr.io/buildpacks/builder:v1"
      }
    },
    
  • image: Geben Sie den Namen des zu verwendenden Bilds an.

    Im folgenden Beispiel wird gezeigt, wie ein Bildname angegeben wird:

      "image": "hello-world",
    
  • service: Geben Sie den zu verwendenden Cloud Run-Dienst an.

    Im folgenden Beispiel wird gezeigt, wie Sie einen Dienstnamen, einen Port und Ressourcenlimits angeben:

    "service": {
      "name": "hello-world",
      "containerPort": 8080,
      "resources": {
        "limits": {
          "memory": "256Mi"
        }
      }
    },
    
  • debug: Geben Sie Debug-Einstellungen an, z. B. die Zuordnung des Remotepfads, um dem Pfad des Remote-Containers einen lokalen Pfad zuzuordnen.

    Im folgenden Beispiel ist ein Debug-Abschnitt zu sehen, in dem der Speicherort der Quelldateien angegeben ist:

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

Support anfragen

Wenn Sie uns Feedback geben möchten, können Sie Probleme auf GitHub melden oder eine Frage in Stack Overflow stellen.