Déployer une application conteneurisée sur Cloud Run à l'aide de Cloud Build
Cette page vous explique comment utiliser Cloud Build pour déployer une application conteneurisée dans Cloud Run.
Pour obtenir des instructions détaillées sur cette tâche directement dans l'éditeur Cloud Shell, cliquez sur Visite guidée :
Avant de commencer
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create 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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine 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.-
Installez la 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 -
In the Google Cloud console, on the project selector page, select or create 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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine 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.-
Installez la 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
Accorder des autorisations
Cloud Build requiert plusieurs autorisations avant de pouvoir déployer une image dans Cloud Run. Pour accorder ces autorisations, procédez comme suit :
Ouvrez une fenêtre de terminal.
Définissez les variables d'environnement pour stocker l'ID et le numéro de votre projet.
PROJECT_ID=$(gcloud config list --format='value(core.project)') PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')Accordez le rôle Administrateur Cloud Run à votre compte de service Cloud Build.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role=roles/run.admin \Attribuez le rôle Utilisateur d'objets de stockage à votre compte de service Cloud Build.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role=roles/storage.objectUser \Attribuez le rôle Utilisateur du compte de service à votre compte de service Cloud Build.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
Déployer une image prédéfinie
Vous pouvez configurer Cloud Build pour qu'il déploie une image prédéfinie stockée dans Artifact Registry dans Cloud Run.
Pour déployer une image prédéfinie, procédez comme suit :
Ouvrez une fenêtre de terminal (si aucune n'est déjà ouverte).
Créez un répertoire nommé
helloworldet accédez-y :mkdir helloworld cd helloworldCréez un fichier nommé
cloudbuild.yamlavec le contenu suivant : Il s'agit du fichier de configuration de Cloud Build. Il contient des instructions permettant à Cloud Build de déployer l'image nomméeus-docker.pkg.dev/cloudrun/container/hellosur le service Cloud Run nommécloudrunservice.Déployez l'image en exécutant la commande suivante :
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Une fois la compilation terminée, un résultat semblable aux lignes suivantes doit s'afficher :
DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4 2020-01-23T14:53:13+00:00 23S gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz - SUCCESS
Vous venez de déployer l'image hello dans Cloud Run.
Exécuter l'image déployée
Ouvrez la page Cloud Run dans la console Google Cloud :
Sélectionnez votre projet et cliquez sur Ouvrir.
La page Services Cloud Run s'affiche.
Dans le tableau, recherchez la ligne portant le nom cloudrunservice, puis cliquez sur cloudrunservice.
La page Informations sur le service de cloudrunservice s'affiche.
Pour exécuter l'image que vous avez déployée sur cloudrunservice, cliquez sur l'URL :
Étape suivante
- Apprenez à compiler à l'aide de Cloud Build.
- Découvrez comment créer un fichier de configuration de compilation de base.
- Découvrez comment afficher les résultats de la compilation.
- Découvrez d'autres façons de déployer sur Cloud Run.
- Découvrez comment déployer sur Google Kubernetes Engine.
- Apprenez-en plus sur les ressources DevOps.
- Découvrez le programme de recherche DevOps.