Configurer des variables d'environnement pour les instances

Cette page explique comment configurer des variables d'environnement pour votre instance Cloud Run.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer et déployer des instances Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre instance Cloud Run communique avec Google Cloud des API, telles que les bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.

Définir des variables d'environnement

Vous pouvez définir des variables d'environnement pour une instance Cloud Run à l'aide de Google Cloud CLI ou de YAML :

gcloud

Pour spécifier des variables d'environnement lors de la création de votre instance, utilisez l' --set-env-vars option :

gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Remplacez les éléments suivants :

  • INSTANCE : nom de l'instance
  • IMAGE_URL : référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest
  • KEY1=VALUE1,KEY2=VALUE2 : liste de noms et de valeurs de variables séparés par une virgule

Pour en savoir plus sur la définition de plusieurs variables d'environnement ou sur l'échappement de caractères spéciaux, consultez la section Définir plusieurs variables d'environnement.

YAML

  1. Si vous créez une instance, ignorez cette étape. Si vous mettez à jour une instance existante, téléchargez sa configuration YAML :

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. L'exemple suivant contient la configuration YAML :

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - env:
        - name: KEY
          value: VALUE
        - name: KEY2
          value: VALUE2
        image: IMAGE

    Remplacez les éléments suivants :

    • INSTANCE : nom de votre instance Cloud Run
    • KEY et VALUE : nom et valeurs des variables d'environnement
    • IMAGE_URL : référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest
  3. Créez ou mettez à jour l'instance à l'aide de la commande suivante :

    gcloud beta run instances replace instance.yaml

Définir des variables d'environnement par défaut dans le conteneur

Vous pouvez utiliser l'ENV instruction dans un fichier Dockerfile pour définir les valeurs par défaut des variables d'environnement :

ENV KEY1=VALUE1,KEY2=VALUE2

Ordre de priorité entre les variables de conteneur et les variables d'instance

Si vous définissez une variable d'environnement par défaut dans le conteneur et également définissez une variable d'environnement portant le même nom sur l' instance Cloud Run, la valeur définie au niveau de l'instance est prioritaire.

Définir plusieurs variables d'environnement

Vous pouvez définir plusieurs variables d'environnement à l'aide du fichier .env ou de l'option --set-env-vars.

Définir plusieurs variables d'environnement à l'aide du fichier .env

gcloud

Pour spécifier plusieurs variables d'environnement à partir du fichier .env, exécutez la commande suivante :

gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH

Remplacez les éléments suivants :

  • INSTANCE : nom de l'instance
  • IMAGE_URL : référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest
  • ENV_FILE_PATH : chemin d'accès au fichier .env

Définir plusieurs variables d'environnement à l'aide de l'option --set-env-vars

Si vous avez plusieurs variables d'environnement qui ne peuvent pas être répertoriées au format KEY1=VALUE1,KEY2=VALUE2, vous pouvez répéter l'option --set-env-vars plusieurs fois :
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

Échapper les caractères de virgule

Comme la virgule , est utilisée pour séparer les variables d'environnement, si votre variable d'environnement contient des virgules en tant que valeurs, vous devez échapper ces délimiteurs en spécifiant un caractère de délimitation différent, par exemple @ :
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Mettre à jour des variables d'environnement

Vous pouvez mettre à jour les variables d'environnement d'exécution pour les instances existantes. Il s'agit d'une approche non destructrice, qui permet de modifier ou d'ajouter des variables d'environnement d'exécution sans les supprimer.

Vous pouvez mettre à jour des variables d'environnement à l'aide de Google Cloud CLI ou de YAML :

gcloud

Pour mettre à jour les variables d'environnement d'une instance existante, utilisez l' --update-env-vars option :

gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Remplacez les éléments suivants :

  • INSTANCE : nom de l'instance
  • KEY1=VALUE1,KEY2=VALUE2 : liste de noms et de valeurs de variables séparés par une virgule

YAML

  1. Téléchargez la configuration YAML de l'instance :

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Modifiez les variables de clé (nom) et de valeur.

  3. Mettez à jour l'instance à l'aide de la commande suivante :

    gcloud beta run instances replace instance.yaml

Supprimer des variables d'environnement

gcloud

Pour supprimer de manière sélective des variables d'environnement d'une instance existante, utilisez l'option --remove-env-vars :

gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2

Remplacez les éléments suivants :

  • INSTANCE : nom de l'instance
  • KEY1,KEY2 : liste de noms de variables séparés par une virgule

Vous pouvez également effacer l'ensemble des variables d'environnement définies précédemment à l'aide de l'option --clear-env-vars :

gcloud beta run instances update INSTANCE --clear-env-vars

Remplacez INSTANCE par le nom de votre instance.

Exemple de code

Pour obtenir un exemple de code montrant comment accéder aux variables d'environnement de votre code, reportez-vous à la section Gérer une configuration sensible avec Secret Manager du tutoriel sur l'authentification des utilisateurs finaux.

Étape suivante

Vous pouvez utiliser des variables d'environnement pour définir une configuration de buildpacks. Pour obtenir des informations propres à chaque langage, consultez la documentation sur les buildpacks pour :