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
- Führen Sie die in der Kurzanleitung zum Erstellen neuer Repositories aufgeführten Schritte aus.
- Wählen Sie die Cloud Functions API aus.
Funktion dem Repository hinzufügen
Wechseln Sie auf Ihrem lokalen Computer zum Stammverzeichnis des Repositorys
hello-world
:cd hello-world
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
Erstellen Sie im Verzeichnis
gcf_hello_world
eineindex.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 HTTPGET
-Anfragen mit dem TextHello 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.
Fügen Sie die Dateien hinzu:
git add .
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"
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
Zur Seite "Cloud Functions"
Sorgen Sie dafür, dass das Google Cloud-Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.
Klicken Sie auf Funktion erstellen.
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.
- Geben Sie im Feld Name den Wert
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
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)')
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
Rufen Sie die Seite Übersicht von Cloud Functions auf.
Sorgen Sie dafür, dass das Google Cloud-Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.
Klicken Sie auf
cloud-source-repositories-test
, den Namen der FunktionhelloGET
, die Sie zuvor erstellt haben.Die Seite Funktionsdetails wird geöffnet.
Klicken Sie auf den Tab Testen.
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
Rufen Sie die Seite Übersicht von Cloud Functions auf.
Sorgen Sie dafür, dass das Google Cloud-Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.
Wählen Sie die Funktion
helloGET
für diese Kurzanleitungcloud-source-repositories-test
aus.Klicken Sie in derselben Zeile auf More more_vert und dann auf Delete.
Repository löschen
Öffnen Sie in der GCP Console die Seite Alle Repositories für Cloud Source Repositories.
Halten Sie den Zeiger über das Repository, das Sie löschen möchten, und klicken Sie auf Einstellungen settings.
Die Seite Allgemeine Einstellungen wird geöffnet.
Klicken Sie auf Dieses Repository löschendelete.
Das Dialogfeld Repository entfernen wird geöffnet.
Geben Sie den Namen des Repositorys ein, das Sie löschen möchten.
Klicken Sie auf Löschen.
Nächste Schritte
- Mehr über Funktionen von Cloud Functions erfahren