1. Übersicht
Die erstmalige Bereitstellung einer Webanwendung kann schwierig sein. Auch nach der ersten Bereitstellung kann es sein, dass Sie die Bereitstellung neuer Versionen Ihrer Anwendung vermeiden, wenn der Prozess zu aufwendig ist. Mit Continuous Deployment können Sie Änderungen an Ihrer Anwendung ganz einfach automatisch bereitstellen.
In diesem Lab schreiben Sie eine Webanwendung und konfigurieren Cloud Run so, dass Ihre Anwendung automatisch bereitgestellt wird, wenn eine Änderung am Quellcode Ihrer Anwendung vorgenommen wird. Anschließend ändern Sie Ihre Anwendung und stellen sie noch einmal bereit.
Lerninhalte
- Webanwendung mit dem Cloud Shell-Editor schreiben
- Anwendungscode in GitHub speichern
- Anwendung automatisch in Cloud Run bereitstellen
- Generative KI mit Genkit in Ihre Anwendung einbinden
- LLM-Prompts mit der dotprompt-Bibliothek verwalten
2. Vorbereitung
- Wenn Sie noch kein Google-Konto haben, müssen Sie ein Google-Konto erstellen.
- Verwenden Sie stattdessen ein privates Konto. Bei Arbeitskonten und Konten von Bildungseinrichtungen kann es Einschränkungen geben, die verhindern, dass Sie die für dieses Lab erforderlichen APIs aktivieren.
- Wenn Sie noch kein GitHub-Konto haben, müssen Sie ein GitHub-Konto erstellen.
- Verwenden Sie ein vorhandenes GitHub-Konto, falls Sie eines haben. Es ist wahrscheinlicher, dass GitHub ein neues Konto als Spam blockiert.
- Konfigurieren Sie die 2-Faktor-Authentifizierung für Ihr GitHub-Konto, um die Wahrscheinlichkeit zu verringern, dass Ihr Konto als Spam markiert wird.
3. Projekt einrichten
- Melden Sie sich in der Google Cloud Console an.
- Aktivieren Sie die Abrechnung in der Cloud Console.
- Die Kosten für Cloud-Ressourcen für dieses Lab sollten weniger als 1 $betragen.
- Sie können die Schritte am Ende dieses Labs ausführen, um Ressourcen zu löschen und so weitere Kosten zu vermeiden.
- Neuen Nutzern steht die kostenlose Testversion mit einem Guthaben von 300$ zur Verfügung.
- Sie nehmen an einem Gen AI for Devs-Event teil? Möglicherweise ist eine Gutschrift in Höhe von 1$ verfügbar.
- Erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt wieder.
- Prüfen Sie in der Cloud-Abrechnung unter Meine Projekte
- , ob die Abrechnung aktiviert ist.
- Wenn in der Spalte
Billing accountIhres neuen ProjektsBilling is disabledsteht:- Klicken Sie in der Spalte
Actionsauf die drei Punkte. - Klicken Sie auf Abrechnung ändern.
- Wählen Sie das gewünschte Rechnungskonto aus.
- Klicken Sie in der Spalte
- Wenn Sie an einer Veranstaltung zum Thema „Generative KI für Entwickler“ teilnehmen, heißt das Konto wahrscheinlich Google Cloud Platform-Testrechnungskonto.
- Wenn in der Spalte
4. Cloud Shell-Editor öffnen
- Cloud Shell-Editor aufrufen
- Wenn das Terminal nicht unten auf dem Bildschirm angezeigt wird, öffnen Sie es:
- Klicken Sie auf das Dreistrich-Menü
. - Klicken Sie auf Terminal.
- Klicken Sie auf Neues Terminal
.
- Klicken Sie auf das Dreistrich-Menü
- Legen Sie im Terminal Ihr Projekt mit diesem Befehl fest:
- Format:
gcloud config set project [PROJECT_ID] - Beispiel:
gcloud config set project lab-project-id-example - Wenn Sie sich nicht an Ihre Projekt-ID erinnern können,
- Sie können alle Ihre Projekt-IDs mit folgendem Befehl auflisten:
gcloud projects list | awk '/PROJECT_ID/{print $2}'

- Sie können alle Ihre Projekt-IDs mit folgendem Befehl auflisten:
- Format:
- Wenn Sie zur Autorisierung aufgefordert werden, klicken Sie auf Autorisieren, um fortzufahren.

- Es sollte folgende Meldung angezeigt werden:
Wenn SieUpdated property [core/project].
WARNINGsehen undDo you want to continue (Y/N)?gefragt werden, haben Sie die Projekt-ID wahrscheinlich falsch eingegeben. Drücken SieN, dannEnterund versuchen Sie, den Befehlgcloud config set projectnoch einmal auszuführen.
5. APIs aktivieren
Aktivieren Sie die APIs im Terminal:
gcloud services enable \
run.googleapis.com \
cloudbuild.googleapis.com \
aiplatform.googleapis.com
Es kann einige Minuten dauern, bis dieser Befehl ausgeführt wird. Wenn die Ausführung erfolgreich war, erhalten Sie eine Meldung, die ungefähr so aussieht:
Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.
6. Git konfigurieren
- Legen Sie Ihre globale Git-Nutzer-E-Mail-Adresse fest:
git config --global user.email "you@example.com" - Legen Sie Ihren globalen Git-Nutzernamen fest:
git config --global user.name "Your Name" - Legen Sie den globalen Git-Standardzweig auf
mainfest:git config --global init.defaultBranch main
7. Code schreiben
So schreiben Sie eine Anwendung in Node.js:
- Rufen Sie das Basisverzeichnis auf:
cd ~ - Erstellen Sie das Verzeichnis
codelab-genai:mkdir codelab-genai - Rufen Sie das Verzeichnis
codelab-genaiauf:cd codelab-genai index.js-Datei erstellen:touch index.js- Erstellen Sie die Datei
package.json.npm init es6 -y expressals Abhängigkeit hinzufügennpm install express- Fügen Sie die Datei
.gitignorehinzu, um das Committen vonnode_moduleszu verhindern.echo node_modules/ >> .gitignore - Öffnen Sie die Datei
index.jsim Cloud Shell-Editor: Oben auf dem Bildschirm sollte jetzt eine leere Datei angezeigt werden. Hier können Sie die Dateicloudshell edit index.jsindex.jsbearbeiten.
- Kopieren Sie den folgenden Code und fügen Sie ihn in die geöffnete Datei
index.jsein: Nach einigen Sekunden wird Ihr Code automatisch im Cloud Shell-Editor gespeichert. Dieser Code antwortet auf HTTP-Anfragen mit der Begrüßung „Hello World!“.import express from 'express'; const app = express(); app.get('/', async (req, res) => { res.send('Hello world!'); }); const port = process.env.PORT || 8080; app.listen(port, () => { console.log(`codelab-genai: listening on port ${port}`); });
Der erste Code für Ihre Anwendung ist fertig und kann in der Versionsverwaltung gespeichert werden.
8. Repository erstellen
- Kehren Sie zum Cloud Shell-Terminal unten auf dem Bildschirm zurück.
- Prüfen Sie, ob Sie sich noch im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Git-Repository initialisieren
git init -b main - Bei der GitHub CLI anmelden
Drücken Siegh auth loginEnter, um die Standardoptionen zu übernehmen, und folgen Sie der Anleitung im GitHub-CLI-Tool, einschließlich:- In welchem Konto möchten Sie sich anmelden?
GitHub.com - Welches Protokoll bevorzugen Sie für Git-Vorgänge auf diesem Host?
HTTPS - Git mit Ihren GitHub-Anmeldedaten authentifizieren?
Y(Überspringen Sie diesen Schritt, wenn diese Option nicht angezeigt wird.) - Wie möchten Sie die GitHub CLI authentifizieren?
Login with a web browser - Einmalcode kopieren
- Öffnen Sie https://github.com/login/device.
- Einmal verwendbaren Code einfügen
- Klicken Sie auf GitHub autorisieren.
- Anmeldung abschließen
- In welchem Konto möchten Sie sich anmelden?
- Prüfen Sie, ob Sie angemeldet sind:
Wenn Sie sich erfolgreich angemeldet haben, sollte Ihr GitHub-Nutzername ausgegeben werden.gh api user -q ".login" GITHUB_USERNAME-Variable erstellenGITHUB_USERNAME=$(gh api user -q ".login")- Prüfen Sie, ob Sie die Umgebungsvariable erstellt haben:
Wenn Sie die Variable erfolgreich erstellt haben, sollte Ihr GitHub-Nutzername ausgegeben werden.echo ${GITHUB_USERNAME} - Erstellen Sie ein leeres GitHub-Repository mit dem Namen
codelab-genai: Wenn Sie den Fehler erhalten:gh repo create codelab-genai --private Dann haben Sie bereits ein Repository mit dem NamenGraphQL: Name already exists on this account (createRepository)
codelab-genai. Sie haben zwei Möglichkeiten, dieser Anleitung zu folgen:- Vorhandenes GitHub-Repository löschen
- Erstellen Sie ein Repository mit einem anderen Namen und denken Sie daran, den Namen in den folgenden Befehlen zu ändern.
- Fügen Sie das Repository
codelab-genaials Remote-Repositoryoriginhinzu:git remote add origin https://github.com/${GITHUB_USERNAME}/codelab-genai
9. Code teilen
- Prüfen Sie, ob Sie sich im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Fügen Sie diesem Commit alle Dateien im aktuellen Verzeichnis hinzu:
git add . - Ersten Commit erstellen:
git commit -m "add http server" - Übertragen Sie Ihr Commit per Push an den
main-Branch desorigin-Repositorys:git push -u origin main
Sie können diesen Befehl ausführen und die resultierende URL aufrufen, um den Anwendungscode auf GitHub aufzurufen:
echo -e "\n\nTo see your code, visit this URL:\n \
https://github.com/${GITHUB_USERNAME}/codelab-genai/blob/main/index.js \n\n"
10. Automatische Deployments einrichten
- Lassen Sie den Tab des Cloud Shell-Editors geöffnet. Wir werden später zu diesem Tab zurückkehren.
- Rufen Sie in einem neuen Tab die Cloud Run-Seite auf.
- Wählen Sie in der Console das richtige Google Cloud-Projekt aus

- Klicken Sie auf REPO VERBINDEN.
- Klicken Sie auf MIT CLOUD BUILD EINRICHTEN.
- Wählen Sie GitHub als Repository-Anbieter aus.
- Wenn Sie nicht in Ihrem GitHub-Konto im Browser angemeldet sind, melden Sie sich mit Ihren Anmeldedaten an.
- Klicken Sie auf Authentifizieren und dann auf Weiter.
- Nach der Anmeldung wird auf der Cloud Run-Seite die Meldung Die GitHub-App ist in keinem Ihrer Repositories installiert. angezeigt.
- Klicken Sie auf die Schaltfläche GOOGLE CLOUD BUILD INSTALLIEREN.
- Wählen Sie auf der Seite „Installation Setup“ (Installation einrichten) die Option Only select repositories (Nur Repositories auswählen) aus und wählen Sie das Repository codelab-genai aus, das Sie über die CLI erstellt haben.
- Klicken Sie auf Installieren.
- Hinweis: Wenn Sie viele GitHub-Repositories haben, kann es einige Minuten dauern, bis die Seite geladen ist.
- Wählen Sie
your-user-name/codelab-genaials Repository aus.- Wenn das Repository nicht vorhanden ist, klicken Sie auf den Link Verbundene Repositories verwalten.
- Behalten Sie für Branch den Wert
^main$bei. - Klicken Sie auf Go, Node.js, Python, Java, .NET Core, Ruby oder PHP über Buildpacks von Google Cloud
- .
- Lassen Sie die anderen Felder (
Build context directory,EntrypointundFunction target) unverändert.
- Lassen Sie die anderen Felder (
- Klicken Sie auf Speichern.
- Wählen Sie GitHub als Repository-Anbieter aus.
- Scrollen Sie nach unten zu Authentifizierung.
- Klicken Sie auf Nicht authentifizierte Aufrufe zulassen.
- Klicke auf ERSTELLEN.
Wenn der Build abgeschlossen ist (was einige Minuten dauert), führen Sie diesen Befehl aus und rufen Sie die resultierende URL auf, um Ihre laufende Anwendung aufzurufen:
echo -e "\n\nOnce the build finishes, visit your live application:\n \
"$( \
gcloud run services list | \
grep codelab-genai | \
awk '/URL/{print $2}' | \
head -1 \
)" \n\n"
11. Code ändern
Zum Cloud Shell-Editor zurückkehren
Wenn Sie den Cloud Shell-Editor noch geöffnet haben, können Sie diese Schritte überspringen.
- Cloud Shell-Editor aufrufen
- Wenn das Terminal nicht unten auf dem Bildschirm angezeigt wird, öffnen Sie es:
- Klicken Sie auf das Dreistrich-Menü
. - Klicken Sie auf Terminal.
- Klicken Sie auf Neues Terminal
.
- Klicken Sie auf das Dreistrich-Menü
- Legen Sie im Terminal Ihr Projekt mit diesem Befehl fest:
- Format:
gcloud config set project [PROJECT_ID] - Beispiel:
gcloud config set project lab-project-id-example - Wenn Sie sich nicht an Ihre Projekt-ID erinnern können,
- Sie können alle Ihre Projekt-IDs mit folgendem Befehl auflisten:
gcloud projects list | awk '/PROJECT_ID/{print $2}'

- Sie können alle Ihre Projekt-IDs mit folgendem Befehl auflisten:
- Format:
- Wenn Sie zur Autorisierung aufgefordert werden, klicken Sie auf Autorisieren, um fortzufahren.

- Es sollte folgende Meldung angezeigt werden:
Wenn SieUpdated property [core/project].
WARNINGsehen undDo you want to continue (Y/N)?gefragt werden, haben Sie die Projekt-ID wahrscheinlich falsch eingegeben. Drücken SieN, dannEnterund versuchen Sie, den Befehlgcloud config set projectnoch einmal auszuführen.
Genkit und Vertex AI in Ihre Anwendung einbinden
- Kehren Sie zum Cloud Shell-Terminal unten auf dem Bildschirm zurück.
- Prüfen Sie, ob Sie sich noch im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Installieren Sie das Node.js Genkit SDK:
npm install @genkit-ai/ai - Installieren Sie das Node.js Genkit SDK für Vertex AI:
npm install @genkit-ai/vertexai index.jsim Cloud Shell-Editor wieder öffnencloudshell edit ~/codelab-genai/index.js- Ersetzen Sie den Code in Ihrer
index.js-Datei durch Folgendes:import express from 'express'; const app = express(); import { genkit } from 'genkit'; import { gemini15Flash, vertexAI } from '@genkit-ai/vertexai'; const ai = genkit({ plugins: [ vertexAI({ location: 'us-central1' }), ], }); app.get('/', async (req, res) => { const animal = req.query.animal || 'dog'; const prompt = `Give me 10 fun facts about ${animal}. Return this as html without backticks.` const llmResponse = await ai.generate({ model: gemini15Flash, prompt: prompt, }); const html = llmResponse.text; res.send(html); }); const port = process.env.PORT || 8080; app.listen(port, () => { console.log(`codelab-genai: listening on port ${port}`); });
- Prüfen Sie, ob Sie sich in Cloud Shell noch im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Führen Sie diese Befehle aus, um eine neue Version Ihrer Anwendung in Ihrem lokalen Git-Repository zu committen:
git add . git commit -m "add latest changes" - Übertragen Sie die Änderungen per Push an GitHub:
git push - Führen Sie nach Abschluss des Builds diesen Befehl aus und rufen Sie Ihre bereitgestellte Anwendung auf:
echo -e "\n\nOnce the build finishes, visit your live application:\n \ "$( \ gcloud run services list | \ grep codelab-genai | \ awk '/URL/{print $2}' | \ head -1 \ )" \n\n"
Es kann einige Minuten dauern, bis der Build abgeschlossen ist und Sie Ihre Änderungen sehen können.
Den Verlauf aller Überarbeitungen finden Sie unter https://console.cloud.google.com/run/detail/us-central1/codelab-genai/revisions.
12. (Optional) .prompt-Dateien mit Genkit verwenden
- Kehren Sie zum Cloud Shell-Terminal unten auf dem Bildschirm zurück.
- Prüfen Sie, ob Sie sich noch im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Erstellen Sie einen
prompts-Ordner, um Ihre Prompts zu speichern:mkdir prompts - Erstellen Sie eine
animal-facts.prompt-Datei, um Ihren ersten Prompt zu erstellen:touch prompts/animal-facts.prompt - Öffnen Sie die Datei
animal-facts.promptim Cloud Shell-Editor:cloudshell edit ~/codelab-genai/prompts/animal-facts.prompt - Bearbeiten Sie
animal-facts.promptund fügen Sie den folgenden Code ein:--- model: vertexai/gemini-1.5-flash input: schema: animal: string --- Give me 10 fun facts about {{animal}}. Return the results as HTML without markdown backticks. - Öffnen Sie die Datei
index.jsim Cloud Shell-Editor:cloudshell edit ~/codelab-genai/index.js - Ersetzen Sie den Code in Ihrer
index.js-Datei durch Folgendes:import express from 'express'; const app = express(); import { genkit } from 'genkit'; import { vertexAI } from '@genkit-ai/vertexai'; const ai = genkit({ plugins: [ vertexAI({ location: 'us-central1' }), ], }); app.get('/', async (req, res) => { const animal = req.query.animal || 'dog'; const animalPrompt = ai.prompt('animal-facts'); const llmResponse = await animalPrompt({animal}); const html = llmResponse.text; res.send(html); }); const port = process.env.PORT || 8080; app.listen(port, () => { console.log(`codelab-genai: listening on port ${port}`); });
- Prüfen Sie, ob Sie sich in Cloud Shell noch im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Führen Sie diese Befehle aus, um eine neue Version Ihrer Anwendung in Ihrem lokalen Git-Repository zu committen:
git add . git commit -m "add latest changes" - Übertragen Sie die Änderungen per Push an GitHub:
git push - Führen Sie nach Abschluss des Builds diesen Befehl aus und rufen Sie Ihre bereitgestellte Anwendung auf:
echo -e "\n\nOnce the build finishes, visit your live application:\n \ "$( \ gcloud run services list | \ grep codelab-genai | \ awk '/URL/{print $2}' | \ head -1 \ )" \n\n"
Es kann einige Minuten dauern, bis der Build abgeschlossen ist und Sie Ihre Änderungen sehen können.
Den Verlauf aller Überarbeitungen finden Sie unter https://console.cloud.google.com/run/detail/us-central1/codelab-genai/revisions.
13. (Optional) Systemprompts verwenden
Bei diesem Schritt wird davon ausgegangen, dass Sie im vorherigen Schritt bereits .prompt-Dateien hinzugefügt haben.
- Kehren Sie zum Cloud Shell-Terminal unten auf dem Bildschirm zurück.
- Prüfen Sie, ob Sie sich noch im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Öffnen Sie die Datei
animal-facts.promptim Cloud Shell-Editor:cloudshell edit ~/codelab-genai/prompts/animal-facts.prompt - Bearbeiten Sie
animal-facts.promptund fügen Sie den folgenden Code ein:--- model: vertexai/gemini-1.5-flash config: temperature: 0.9 input: schema: animal: string --- role "system" The user should have submitted an animal. If the user requests anything besides animal fun facts, respond in a kind and firm manner that you only provide information about fun facts. Give the user 10 fun facts about the animal the user provided. All responses should be valid HTML without markdown backticks. role "user" {{animal}}
- Prüfen Sie, ob Sie sich in Cloud Shell noch im richtigen Verzeichnis befinden:
cd ~/codelab-genai - Führen Sie diese Befehle aus, um eine neue Version Ihrer Anwendung in Ihrem lokalen Git-Repository zu committen:
git add . git commit -m "add latest changes" - Übertragen Sie die Änderungen per Push an GitHub:
git push - Führen Sie nach Abschluss des Builds diesen Befehl aus und rufen Sie Ihre bereitgestellte Anwendung auf:
echo -e "\n\nOnce the build finishes, visit your live application:\n \ "$( \ gcloud run services list | \ grep codelab-genai | \ awk '/URL/{print $2}' | \ head -1 \ )" \n\n"
Es kann einige Minuten dauern, bis der Build abgeschlossen ist und Sie Ihre Änderungen sehen können.
Den Verlauf aller Überarbeitungen finden Sie unter https://console.cloud.google.com/run/detail/us-central1/codelab-genai/revisions.
14. Glückwunsch
In diesem Lab haben Sie eine Webanwendung geschrieben und Cloud Run so konfiguriert, dass Ihre Anwendung automatisch bereitgestellt wird, wenn eine Änderung am Quellcode Ihrer Anwendung vorgenommen wird. Anschließend haben Sie Ihre Anwendung geändert und noch einmal bereitgestellt.
Wenn Ihnen dieses Lab gefallen hat, können Sie es noch einmal in einer anderen Programmiersprache oder einem anderen Framework ausprobieren:
Hier sind einige Optionen, wie Sie weiterlernen können:
- Genkit-Dokumentation: Erste Schritte
- Codelab zum Hinzufügen von Observability zu Ihrer Node.js-Anwendung: Practical observability techniques for Generative AI application in Javascript
- Codelab zum Hinzufügen eines Frontends zu Ihrer Anwendung mit Next.js: Generative KI-Webanwendung mit Next.js automatisch aus der Versionsverwaltung in Cloud Run bereitstellen
- Codelab zur Verwendung von Funktionsaufrufen: Gemini-Funktionsaufrufe mit Cloud Run verwenden
- Codelab zur Verarbeitung von Videoinhalten mit KI: How to use Cloud Run Jobs Video Intelligence API to process a Video scene-by-scene