Google Cloud Run
Google Cloud Run est une plateforme serverless de Google Cloud. Vous pouvez exécuter votre code en réponse à des événements, et Google gère automatiquement les ressources de calcul sous-jacentes.
Google Cloud Run utilise des conteneurs pour exécuter votre service. Vous pouvez donc utiliser l'environnement d'exécution de votre choix (par exemple Deno ou Bun) en fournissant un Dockerfile. Sans Dockerfile, Google Cloud Run utilise le buildpack Node.js par défaut.
Ce guide suppose que vous disposez déjà d'un compte Google Cloud et d'un compte de facturation.
1. Installation de la CLI
Pour travailler avec Google Cloud Platform, le plus simple est d'utiliser la CLI gcloud.
Par exemple, sur macOS avec Homebrew :
brew install --cask gcloud-cliAuthentifiez-vous avec la CLI.
gcloud auth login2. Configuration du projet
Créez un projet. Acceptez l'identifiant de projet généré automatiquement lorsque vous y êtes invité.
gcloud projects create --set-as-default --name="my app"Créez des variables d'environnement pour l'identifiant et le numéro du projet afin de les réutiliser facilement. Il faut parfois environ 30 secondes avant que le projet apparaisse dans le résultat de gcloud projects list.
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_NUMBERRecherchez l'identifiant de votre compte de facturation.
gcloud billing accounts listAssociez au projet le compte de facturation obtenu avec la commande précédente.
gcloud billing projects link $PROJECT_ID \
--billing-account=[billing_account_id]Activez les API nécessaires.
gcloud services enable run.googleapis.com \
cloudbuild.googleapis.comModifiez les autorisations du compte de service pour lui donner accès à Cloud Build.
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member=serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com \
--role=roles/run.builder3. Bonjour le monde
Créez votre projet avec la commande « create-hono ». Sélectionnez nodejs.
npm create hono@latest my-appOuvrez my-app et installez les dépendances.
cd my-app
npm iRemplacez le port dans src/index.ts par 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}`)
})Démarrez le serveur de développement localement. Ensuite, ouvrez http://localhost:8080 dans votre navigateur web.
npm run dev4. Déploiement
Lancez le déploiement et suivez les instructions interactives (par exemple pour sélectionner une région).
gcloud run deploy my-app --source . --allow-unauthenticatedChanger d'environnement d'exécution
Pour déployer avec Deno ou Bun (ou un conteneur Node.js personnalisé), ajoutez un Dockerfile (et éventuellement .dockerignore) décrivant l'environnement souhaité.
Pour en savoir plus sur la conteneurisation, consultez :