Cloud Run-Dienst lokal in Cloud Code für Cloud Shell 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 Run/Debug on Cloud Run Emulator den Start 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.

Geben Sie die entsprechende Konfiguration an, um Ihren Dienst lokal auszuführen:

  1. Öffnen Sie die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P oder Ansicht > Befehlspalette) und führen Sie dann den Befehl Run on Cloud Run Emulator 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 ausgeführten Container übergeben werden sollen, maximieren Sie Erweiterte Build-Einstellungen und geben Sie Schlüssel/Wert-Paare an.
      Name Beschreibung Beispiel
      PORT Der Port, den der HTTP-Server überwacht. 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 auf das Kästchen Dienst über andere Geräte im lokalen Netzwerk zugänglich machen.
    • (Optional) Wenn Sie Ihren Dienst nur manuell neu erstellen und ausführen möchten, statt ihn beim Vornehmen einer Änderung automatisch neu zu erstellen, deaktivieren Sie die Option Automatisch neu erstellen und bei Änderungen 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. Ü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.

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

    Ausgabebereich mit hello-world-5 – Details aus dem Drop-down-Menü des Ausgabekanals ausgewählt

  4. 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 Log-Explorer von Cloud Code.
    • Open URL (URL öffnen): Öffnen Sie die Anwendungsdienst-URL eines bestimmten Dienstes in einem Webbrowser.
  5. Wenn Sie den Überwachungsmodus in Ihrer Startkonfiguration deaktiviert haben, Ä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 Beobachtungsmodus aktivieren.

  6. 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 sie schützen, indem Sie sie als Secrets speichern. Durch die Einbindung von Cloud Code Secret Manager können Sie diese Secrets sicher speichern und programmatisch abrufen. Ausführliche Informationen zum Erstellen und Verwalten von Secrets mit Cloud Code finden Sie in der Anleitung zu Secret Manager.

Vorhandene Konfiguration von "launch.json" anpassen

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

  • watch: Prüft auf Änderungen im Arbeitsbereich und führt den Dienst noch einmal aus. Standardmäßig "true".

    Im folgenden Beispiel ist die Smartwatch auf true gesetzt:

    "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 Images an.

    Im folgenden Beispiel wird gezeigt, wie Sie einen Image-Namen angeben:

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

    Das folgende Beispiel zeigt, wie Sie einen Dienstnamen, einen Port und Ressourcenlimits angeben:

    "service": {
      "name": "hello-world",
      "containerPort": 8080,
      "resources": {
        "limits": {
          "memory": "256Mi"
        }
      }
    },
    
  • debug: Geben Sie Einstellungen zur Fehlerbehebung wie die Remote-Pfadzuordnung an, um einen lokalen Pfad einem Pfad im Remote-Container zuzuordnen.

    Das folgende Beispiel zeigt einen Debug-Bereich, in dem der Speicherort der Quelldateien angegeben ist:

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