Cloud Functions-Funktionen mit Versionsverwaltung bereitstellen

Auf dieser Seite wird beschrieben, wie Sie Cloud Functions mit Code bereitstellen, der in Cloud Source Repositories einer Versionsverwaltung unterliegt.

Wenn Sie Cloud Functions in Cloud Source Repositories einbinden, können Sie Cloud Source Repositories für die Versionskontrolle des Codes verwenden, der Ihre Funktion enthält. Wenn sich die Funktion im Laufe der Zeit ändert, können Sie weiterhin auf vorherige Commits zugreifen, um zu sehen, wie und wann sich die Funktion geändert hat.

Hinweise

  1. Führen Sie die unter Code-Repository in Cloud Source Repositories erstellen aufgeführten Schritte aus.
  2. Aktivieren Sie die Cloud Functions API und die Cloud Build API.
  3. Cloud Functions API und Cloud Build API aktivieren

Funktion dem Repository hinzufügen

  1. Wechseln Sie auf Ihrem lokalen Computer zum Stammverzeichnis des Repositorys hello-world:

    cd hello-world
    
  2. Erstellen Sie auf Ihrem lokalen System ein Verzeichnis für den Funktionscode.

    Linux oder macOS

    Erstellen Sie das Verzeichnis:

    mkdir gcf_hello_world

    Wechseln Sie zum Verzeichnis:

    cd gcf_hello_world

    Windows(CMD)

    Erstellen Sie das Verzeichnis:

    mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world

    Wechseln Sie zum Verzeichnis:

    cd %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
  3. Erstellen Sie im Verzeichnis gcf_hello_world eine index.js-Datei mit folgendem Inhalt:

    /* HTTP Cloud Function.
    *
    * @param {Object} req Cloud Function request context.
    * @param {Object} res Cloud Function response context.
    */
    exports.helloGET = (req, res) => {
      res.send('Hello from Cloud Functions and Cloud Source Repositories');
    };
    

    Dies ist eine einfache Funktion namens helloGET, die auf HTTP GET-Anfragen mit dem Text Hello from Cloud Functions and Cloud Source Repositories reagiert.

Per Push in Cloud Source Repositories übertragen

Laden Sie die soeben erstellten Dateien in Cloud Source Repositories hoch.

  1. Fügen Sie die Dateien hinzu:

    git add .
    
  2. Führen Sie für die Dateien ein Commit mit einem Kommentar durch, der den Verlauf dieser Aktion beschreibt:

    git commit -m "Add Cloud Functions test to Cloud Source Repositories"
    
  1. Fügen Sie mit dem Befehl git push den Inhalt des lokalen Git-Repositorys Cloud Source Repositories hinzu:

    git push origin master
    

Funktion erstellen und bereitstellen

Erstellen Sie die Funktion mit der Google Cloud Console oder der Google Cloud CLI und stellen Sie sie bereit.

Console

  1. Zur Seite "Cloud Functions"

    Zur Seite „Cloud Functions“

    Sorgen Sie dafür, dass das Google Cloud-Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.

  2. Klicken Sie auf Funktion erstellen.

  3. Füllen Sie auf der Seite Funktion erstellen die folgenden Optionen aus:

    • Wählen Sie im Feld Umgebung die Option 1. Generation aus.
    • Geben Sie im Feld Funktionsname cloud-source-repositories-test ein.
    • Wählen Sie im Feld Region die Option us-central1 aus.
    • Wählen Sie in der Liste Trigger HTTP aus.
    • Wählen Sie in der Liste Authentifizierung die Option Authentifizierung erforderlich aus.
    • Achten Sie darauf, dass die Option HTTPS erforderlich aktiviert ist.
  4. Klicken Sie auf Speichern.

  5. Klicken Sie auf Next (Weiter).

    • Wählen Sie im Feld Laufzeit die Option Node.js 16 aus.
    • Geben Sie im Feld Einstiegspunkt den Wert helloGET ein.
    • Wählen Sie in der Liste Quellcode die Option Cloud Source Repository aus.
    • Geben Sie im Feld Repository hello-world ein.
    • Geben Sie im Feld Branch-Name den Wert master ein.
    • Geben Sie im Feld Verzeichnis mit Quellcode /gcf_hello_world ein.
  6. Klicken Sie auf Bereitstellen.

Während der Bereitstellung der Funktion wird daneben ein kleines Wartesymbol angezeigt. Wenn die Bereitstellung abgeschlossen ist, wird das Wartesymbol zu einem grünen Häkchen.

gcloud-CLI

  1. Legen Sie in einem Terminalfenster eine Variable fest, die Ihre Google Cloud-Projekt-ID enthält. Sorgen Sie dafür, dass es sich um dasselbe Google Cloud-Projekt handelt, das Ihr Repository enthält.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Stellen Sie die Funktion bereit:

    gcloud functions deploy helloGET \
    --source https://source.developers.google.com/projects/$PROJECT_ID/repos/hello-world/moveable-aliases/master/paths/gcf_hello_world \
    --trigger-http \
    --runtime=nodejs8;
    

Weitere Informationen zur Bereitstellung in Cloud Source Repositories finden Sie unter Von der Versionsverwaltung bereitstellen.

Funktion testen

Testen Sie die neue Funktion mit der GCP Console oder der gcloud CLI.

Console

  1. Rufen Sie die Seite Übersicht von Cloud Functions auf.

    Zur Seite „Übersicht“

    Sorgen Sie dafür, dass das Google Cloud-Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.

  2. Klicken Sie in der Funktionszeile cloud-source-repositories-test auf das Menü Aktionen anzeigen .

  3. Klicken Sie auf Funktion testen.

  4. Klicken Sie auf Funktion testen.

    Nach ein oder zwei Minuten wird im Feld Ausgabe die Meldung Hello from Cloud Functions and Cloud Source Repositories angezeigt.

gcloud-CLI

Geben Sie in einem Terminalfenster folgenden Befehl ein:

gcloud functions call helloGET

Es wird eine Ausgabe angezeigt, die etwa so aussieht:

executionId: owqd9fdh5od2
result: Hello from Cloud Functions and Cloud Source Repositories

Bereinigen

So löschen Sie die erstellte Funktion und das Repository:

Funktion löschen

  1. Rufen Sie die Seite Übersicht von Cloud Functions auf.

    Zur Seite „Übersicht“

    Sorgen Sie dafür, dass das Google Cloud-Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.

  2. Wählen Sie die Funktion helloGET für diese Kurzanleitung cloud-source-repositories-test aus.

  3. Klicken Sie in derselben Zeile auf More und dann auf Delete.

Repository löschen

  1. Öffnen Sie in der GCP Console die Seite Alle Repositories für Cloud Source Repositories.

    Cloud Source Repositories öffnen

  2. Halten Sie den Zeiger über das Repository, das Sie löschen möchten, und klicken Sie auf Einstellungen .

    Die Seite Allgemeine Einstellungen wird geöffnet.

  3. Klicken Sie auf Dieses Repository löschen.

    Das Dialogfeld Repository entfernen wird geöffnet.

  4. Geben Sie den Namen des Repositorys ein, das Sie löschen möchten.

  5. Klicken Sie auf Löschen.

Nächste Schritte