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 :

Visite guidée


Avant de commencer

  1. 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 gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activer les API Cloud Build, Cloud Run, Artifact Registry, and Compute Engine.

    Activer les API

  5. Installez Google Cloud CLI.
  6. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  7. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  8. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  9. Activer les API Cloud Build, Cloud Run, Artifact Registry, and Compute Engine.

    Activer les API

  10. Installez Google Cloud CLI.
  11. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init

Octroyer des autorisations

Cloud Build requiert les autorisations Administrateur Cloud Run et Utilisateur du compte de service IAM avant de pouvoir déployer une image dans Cloud Run.

  1. Ouvrez une fenêtre de terminal.

  2. 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)')
    
  3. Accordez le rôle Administrateur Cloud Run au compte de service Cloud Build :

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/run.admin
    
  4. Attribuez le rôle Utilisateur du compte de service IAM au compte de service Cloud Build sur le compte de service d'exécution Cloud Run :

    gcloud iam service-accounts add-iam-policy-binding \
        $PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.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 :

  1. Ouvrez une fenêtre de terminal (si aucune n'est déjà ouverte).

  2. Créez un répertoire nommé helloworld et accédez-y :

    mkdir helloworld
    cd helloworld
    
  3. Créez un fichier nommé cloudbuild.yaml avec 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ée us-docker.pkg.dev/cloudrun/container/hello sur le service Cloud Run nommé cloudrunservice.

    steps:
    - name: 'gcr.io/cloud-builders/gcloud'
      script: |
        gcloud run deploy cloudrunservice --image us-docker.pkg.dev/cloudrun/container/hello --region us-central1 --platform managed --allow-unauthenticated
  4. 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

  1. Ouvrez la page Cloud Run dans la console Google Cloud:

    Ouvrez la page Cloud Run

  2. Sélectionnez votre projet et cliquez sur Ouvrir.

    La page Services Cloud Run s'affiche.

  3. Dans le tableau, recherchez la ligne portant le nom cloudrunservice, puis cliquez sur cloudrunservice.

    La page Informations sur le service de cloudrunservice s'affiche.

  4. Pour exécuter l'image que vous avez déployée sur cloudrunservice, cliquez sur l'URL :

    Capture d'écran de la page des services Cloud Run

Étapes suivantes