Google Cloud Run
Google Cloud Run ist eine Serverless-Plattform von Google Cloud. Du kannst deinen Code als Reaktion auf Ereignisse ausführen, und Google verwaltet automatisch die zugrunde liegenden Computing-Ressourcen für dich.
Google Cloud Run führt deinen Dienst in Containern aus. Mit einem Dockerfile kannst du daher eine beliebige Laufzeitumgebung wie Deno oder Bun verwenden. Wenn kein Dockerfile vorhanden ist, verwendet Google Cloud Run das standardmäßige Node.js-Buildpack.
Diese Anleitung setzt voraus, dass du bereits ein Google-Cloud-Konto und ein Rechnungskonto hast.
1. CLI installieren
Bei der Arbeit mit Google Cloud Platform ist die gcloud-CLI der einfachste Weg.
Zum Beispiel unter macOS mit Homebrew:
brew install --cask gcloud-cliAuthentifiziere dich mit der CLI.
gcloud auth login2. Projekt einrichten
Erstelle ein Projekt. Übernimm bei der Eingabeaufforderung die automatisch generierte Projekt-ID.
gcloud projects create --set-as-default --name="my app"Erstelle Umgebungsvariablen für deine Projekt-ID und Projektnummer, um sie einfach wiederverwenden zu können. Es kann etwa 30 Sekunden dauern, bis das Projekt erfolgreich mit dem Befehl gcloud projects list zurückgegeben wird.
PROJECT_ID=$(gcloud projects list \
--format='value(projectId)' \
--filter='name="my app"')
PROJECT_NUMBER=$(gcloud projects list \
--format='value(projectNumber)' \
--filter='name="my app"')
echo $PROJECT_ID $PROJECT_NUMBERErmittle die ID deines Rechnungskontos.
gcloud billing accounts listVerknüpfe das Rechnungskonto aus dem vorherigen Befehl mit dem Projekt.
gcloud billing projects link $PROJECT_ID \
--billing-account=[billing_account_id]Aktiviere die erforderlichen APIs.
gcloud services enable run.googleapis.com \
cloudbuild.googleapis.comPasse die Berechtigungen des Dienstkontos an, damit es Zugriff auf Cloud Build hat.
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member=serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com \
--role=roles/run.builder3. Hello World
Starte dein Projekt mit dem Befehl „create-hono“. Wähle nodejs aus.
npm create hono@latest my-appWechsle nach my-app und installiere die Abhängigkeiten.
cd my-app
npm iÄndere den Port in src/index.ts auf 8080.
import { serve } from '@hono/node-server'
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => {
return c.text('Hello Hono!')
})
serve({
fetch: app.fetch,
port: 3000
port: 8080
}, (info) => {
console.log(`Server is running on http://localhost:${info.port}`)
})Starte den Entwicklungsserver lokal. Öffne anschließend http://localhost:8080 in deinem Webbrowser.
npm run dev4. Bereitstellung
Starte die Bereitstellung und folge den interaktiven Eingabeaufforderungen, etwa zur Auswahl einer Region.
gcloud run deploy my-app --source . --allow-unauthenticatedLaufzeitumgebung ändern
Wenn du mit Deno oder Bun oder mit einem angepassten Node.js-Container bereitstellen möchtest, füge ein Dockerfile mit der gewünschten Umgebung und optional eine .dockerignore hinzu.
Informationen zur Containerisierung findest du hier: