Kurzanleitung zum Bereitstellen von Code aus Cloud Source Repositories in Cloud Functions

In diesem Thema wird beschrieben, wie Sie Cloud Functions mit Code bereitstellen, der in Cloud Source Repositories einer Versionskontrolle 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.

Hinweis

  1. Führen Sie die in der Kurzanleitung zum Erstellen neuer Repositories aufgeführten Schritte aus.
  2. Wählen Sie die Cloud Functions API aus.
  3. Cloud Functions 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"
    
  3. 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

Verwenden Sie entweder die Google Cloud Console oder das Cloud SDK, um die Funktion zu erstellen und bereitzustellen.

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:

    • Geben Sie im Feld Name den Wert cloud-source-repositories-test ein.
    • Wählen Sie in der Liste Trigger HTTP aus.
    • Wählen Sie in der Liste Quellcode Cloud Source-Repository aus.
    • Geben Sie im Feld Repository hello-world ein.
    • Wählen Sie in der Liste Branch/Tag Branch aus.
    • Geben Sie im Feld Branch-Name master ein.
    • Geben Sie im Feld Verzeichnis mit Quellcode /gcf_hello_world ein.
    • Geben Sie im Feld Auszuführende Funktion helloGET ein.
  4. Klicken Sie auf Erstellen.

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.

Cloud SDK

  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 entweder mit der GCP Console oder mit dem Cloud SDK.

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 auf cloud-source-repositories-test, den Namen der Funktion helloGET, die Sie zuvor erstellt haben.

    Die Seite Funktionsdetails wird geöffnet.

  3. Klicken Sie auf den Tab 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.

Cloud SDK

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