Guide de démarrage rapide : déployer une fonction Cloud Run à l'aide de la gcloud CLI
Cette page vous explique comment déployer une fonction HTTP Cloud Run à l'aide de la gcloud CLI.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com -
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com - Pour définir le projet par défaut pour votre service Cloud Run :
Remplacez PROJECT_ID par le nom du projet que vous avez créé pour ce guide de démarrage rapide.gcloud config set project PROJECT_ID
Si vous êtes soumis à une règle d'administration de restriction de domaine limitant les appels non authentifiés pour votre projet, vous devez accéder au service déployé comme décrit dans la section Tester les services privés.
- Consultez les tarifs de Cloud Run ou estimez les coûts à l'aide du simulateur de coût.
-
Développeur de source Cloud Run (
roles/run.sourceDeveloper) sur le projet -
Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur l'identité du service -
Lecteur de journaux (
roles/logging.viewer) sur le projet Créez un répertoire nommé
helloworldet modifiez les sous-répertoires comme suit :mkdir helloworld cd helloworldCréez un fichier
package.jsondans le répertoirehelloworldpour spécifier les dépendances Node.js :Créez un fichier
index.jsdans le répertoirehelloworldavec l'exemple Node.js suivant :Créez un répertoire nommé
helloworldet modifiez les sous-répertoires comme suit :mkdir helloworld cd helloworldCréez un fichier
requirements.txtdans le répertoirehelloworldpour spécifier les dépendances Python :Cela ajoute les packages requis par l'exemple.
Créez un fichier
main.pydans le répertoirehelloworldavec l'exemple Python suivant :Créez un répertoire nommé
helloworldet modifiez les sous-répertoires comme suit :mkdir helloworld cd helloworldInitialisez un fichier
go.modpour déclarer le module go :Créez un fichier
hello_http.godans le répertoirehelloworldavec l'exemple de code Go suivant :Créez un répertoire nommé
helloworldet modifiez les sous-répertoires comme suit :mkdir helloworld cd helloworldCréez la structure de projet suivante qui doit contenir le répertoire source et le fichier source :
mkdir -p ~/helloworld/src/main/java/functions touch ~/helloworld/src/main/java/functions/HelloWorld.javaMettez à jour le fichier
HelloWorld.javaavec l'exemple de code Java suivant :Créez un fichier
pom.xmldans le répertoirehelloworldet ajoutez les dépendances Java suivantes :Créez un répertoire nommé
helloworldet modifiez les sous-répertoires comme suit :mkdir helloworld cd helloworldCréez un fichier nommé
app.rbet collez-y le code suivant :Créez un fichier nommé
Gemfileet copiez-y les éléments suivants :Si vous n'avez pas installé Bundler 2.0 ou une version ultérieure, installez Bundler.
Générez un fichier
Gemfile.locken exécutant :bundle installCréez un répertoire nommé
helloworldet modifiez les sous-répertoires comme suit :mkdir helloworld cd helloworldCréez un fichier nommé
index.phpet collez-y le code suivant :Si vous n'utilisez pas Cloud Shell, créez un fichier
composer.jsonet collez-y le code suivant :Installez le SDK.NET.
À partir de la console, créez un projet Web vide à l'aide de la commande dotnet.
dotnet new web -o helloworld-csharpPlacez-vous dans le répertoire
helloworld-csharp:Remplacez l'exemple de code dans le fichier de projet
helloworld-csharp.csprojpar le code suivant :Remplacez l'exemple de code dans le fichier
Program.cspar le code suivant :Déployez la fonction en exécutant la commande suivante dans le répertoire contenant l'exemple de code :
Node.js
gcloud run deploy nodejs-http-function \ --source . \ --function helloGET \ --base-image nodejs24 \ --region REGION \ --allow-unauthenticatedRemplacez REGION par la région du service dans lequel vous souhaitez déployer votre fonction. Google CloudPar exemple,
europe-west1.Python
gcloud run deploy python-http-function \ --source . \ --function hello_get \ --base-image python313 \ --region REGION \ --allow-unauthenticatedRemplacez REGION par la région du service dans lequel vous souhaitez déployer votre fonction. Google CloudPar exemple,
europe-west1.Go
gcloud run deploy go-http-function \ --source . \ --function HelloGet \ --base-image go125 \ --region REGION \ --allow-unauthenticatedRemplacez REGION par la région du service dans lequel vous souhaitez déployer votre fonction. Google CloudPar exemple,
europe-west1.Java
Exécutez la commande suivante dans le répertoire contenant le fichier
pom.xml:gcloud run deploy java-http-function \ --source . \ --function functions.HelloWorld \ --base-image java21 \ --region REGION \ --allow-unauthenticatedRemplacez REGION par la région du service dans lequel vous souhaitez déployer votre fonction. Google CloudPar exemple,
europe-west1.Ruby
gcloud run deploy ruby-http-function \ --source . \ --function hello_get \ --base-image ruby34 \ --region REGION \ --allow-unauthenticatedRemplacez REGION par la région du service dans lequel vous souhaitez déployer votre fonction. Google CloudPar exemple,
europe-west1.PHP
gcloud run deploy php-http-function \ --source . \ --function helloGet \ --base-image php84 \ --region REGION \ --allow-unauthenticatedRemplacez REGION par la région du service dans lequel vous souhaitez déployer votre fonction. Google CloudPar exemple,
europe-west1..NET
gcloud run deploy csharp-http-function \ --source . \ --function HelloWorld.Function \ --base-image dotnet8 \ --region REGION \ --allow-unauthenticatedRemplacez REGION par la région du service dans lequel vous souhaitez déployer votre fonction. Google CloudPar exemple,
europe-west1.Une fois le déploiement terminé, Google Cloud CLI affiche une URL sur laquelle le service est en cours d'exécution. Ouvrez l'URL dans votre navigateur pour afficher le résultat de votre fonction.
Dans la console Google Cloud , accédez à la page Services de Cloud Run :
Recherchez le service que vous souhaitez supprimer dans la liste des services, puis cliquez la case correspondante pour le sélectionner.
Cliquez sur Supprimer pour supprimer toutes les révisions du service.
- SERVICE : nom de votre service.
- REGION : Google Cloud région du service.
Pour déployer un exemple de fonction sur Cloud Run à l'aide de la console Google Cloud , consultez le guide de démarrage rapide : déployer une fonction sur Cloud Run à l'aide de la console Google Cloud .
Pour déployer des fonctions et créer des déclencheurs à l'aide de la console Google Cloud et de Google Cloud CLI, consultez Déployer des fonctions.
Pour afficher et supprimer des fonctions existantes, consultez la section Gérer les révisions de service.
Pour créer des conteneurs de fonctions dans votre propre chaîne d'outils et les déployer sur Cloud Run, consultez la section Créer des fonctions.
Pour créer des déclencheurs avec Eventarc, consultez Créer des déclencheurs avec Eventarc.
Rôles requis
Pour obtenir les autorisations nécessaires pour suivre ce guide de démarrage rapide, demandez à votre administrateur de vous accorder les rôles IAM suivants :
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Accorder au compte de service Cloud Build l'accès à votre projet
Cloud Build utilise automatiquement le compte de service Compute Engine par défaut comme compte de service Cloud Build par défaut pour compiler votre code source et votre ressource Cloud Run, sauf si vous modifiez ce comportement.
Pour que Cloud Build puisse créer vos sources, accordez au compte de service Cloud Build le rôle Créateur Cloud Run (roles/run.builder) dans votre projet :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
Remplacez PROJECT_ID par l'ID de votre projet Google Cloudet SERVICE_ACCOUNT_EMAIL_ADDRESS par l'adresse e-mail du compte de service Cloud Build. Si vous utilisez le compte de service Compute Engine par défaut comme compte de service Cloud Build, utilisez le format suivant pour l'adresse e-mail du compte de service :
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Remplacez PROJECT_NUMBER par votre numéro de projet Google Cloud.
Pour obtenir des instructions détaillées sur la recherche de votre ID et de votre numéro de projet, consultez la section Créer et gérer des projets.
L'application du rôle de compilateur Cloud Run prend quelques minutes.
Écrire l'exemple de fonction
Pour écrire une application, procédez comme suit :
Node.js
Python
Go
Java
Ruby
PHP
.NET
Déployer la fonction
Pour déployer votre fonction Cloud Run, procédez comme suit :
Effectuer un nettoyage
Pour éviter que des frais supplémentaires ne soient facturés sur votre compte Google Cloud , supprimez toutes les ressources que vous avez déployées avec ce guide de démarrage rapide.
Supprimer votre dépôt
Cloud Run ne vous facture pas lorsque votre service déployé n'est pas utilisé. Toutefois, il se peut que des frais vous soient facturés pour le stockage de l'image de conteneur dans Artifact Registry. Pour supprimer des dépôts Artifact Registry, suivez les étapes décrites dans Supprimer des dépôts de la documentation Artifact Registry.
Supprimer votre service
Les services Cloud Run n'entraînent pas de coûts tant qu'ils ne reçoivent pas de requêtes. Pour supprimer votre service Cloud Run, procédez comme suit :
Console
Pour supprimer un service, procédez comme suit :
gcloud
Pour supprimer un service, exécutez la commande suivante :
gcloud run services delete SERVICE --region REGION
Remplacez les éléments suivants :
Supprimer votre projet de test
La suppression de votre projet Google Cloud arrête la facturation de toutes les ressources de ce projet. Pour libérer toutes les ressources Google Cloud de votre projet, procédez comme suit :
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID