Configurer des variables d'environnement pour les tâches

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

Lorsque vous définissez des variables d'environnement, elles sont injectées dans le conteneur et sont accessibles depuis votre code. Les variables d'environnement sont définies sous forme de paires clé/valeur.

Noms réservés

Les variables d'environnement définies dans le contrat d'exécution du conteneur sont réservées et ne peuvent pas être définies.

Nombre maximal de variables d'environnement

Notez que vous pouvez définir un maximum de 1 000 variables d'environnement par conteneur pour chaque job Cloud Run.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer des jobs Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le job :

  • Développeur Cloud Run (roles/run.developer) : le job Cloud Run
  • Utilisateur du compte de service (roles/iam.serviceAccountUser) : l'identité du service

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 job Cloud Run communique avec des APIGoogle Cloud , telles que des 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 les tâches nouvelles et existantes. Notez que l'indicateur --set-env-vars est une action destructrice qui supprime les variables d'environnement précédemment définies et qui ne sont pas incluses dans la nouvelle liste de variables d'environnement.

Vous pouvez définir des variables d'environnement à l'aide de la console Google Cloud , de la gcloud CLI ou d'un fichier YAML :

Console

  1. Dans la console Google Cloud , accédez à la page des jobs Cloud Run :

    Accédez à Cloud Run

  2. Sélectionnez Jobs dans le menu, puis cliquez sur Déployer un conteneur pour remplir la page des paramètres initiaux du job. Si vous configurez un job existant, sélectionnez-le, puis cliquez sur Afficher et modifier la configuration du job.

  3. Cliquez sur Conteneur(s), Volumes, Connexions, Sécurité pour développer la page des propriétés du job.

  4. Cliquez sur l'onglet Variables.

    image

    • Dans l'onglet "Variables et secrets", cliquez sur Ajouter une variable, puis spécifiez le nom et la valeur de cette variable dans les champs Nom et Valeur. Pour savoir comment définir plusieurs variables d'environnement ou échapper des caractères spéciaux, consultez Définir plusieurs variables d'environnement.
  5. Cliquez sur Créer ou Mettre à jour.

gcloud

Pour spécifier des variables d'environnement lorsque vous créez un job, utilisez l'option --set-env-vars :

gcloud run jobs create JOB_NAME --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Remplacez les éléments suivants :

  • JOB_NAME : nom de votre job.
  • KEY1=VALUE1,KEY2=VALUE2 : liste de noms de variables et de leurs valeurs, séparés par une virgule.
  • IMAGE_URL : référence à l'image de conteneur (par exemple, us-docker.pkg.dev/cloudrun/container/job:latest).

Pour savoir comment définir plusieurs variables d'environnement ou échapper des caractères spéciaux, consultez Définir plusieurs variables d'environnement.

YAML

  1. Si vous créez un job, ignorez cette étape. Si vous mettez à jour un job existant, téléchargez sa configuration YAML :

    gcloud run jobs describe JOB_NAME --format export > job.yaml
    1. Mettez à jour les attributs name et value sous env, comme indiqué sous containers: :
    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
                env:
                - name: KEY-1
                  value: VALUE-1
                - name: KEY-N
                  value: VALUE-N

    Remplacez KEY-1, VALUE-1 par la variable d'environnement et la valeur. Si vous le souhaitez, vous pouvez ajouter d'autres variables accompagnées de leur valeur.

    Vous pouvez également spécifier d'autres éléments de configuration, tels que des variables d'environnement ou des limites de mémoire.

  2. Mettez à jour la configuration de job existante :

    gcloud run jobs replace job.yaml

Terraform

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

Ajoutez les éléments suivants à une ressource google_cloud_run_v2_job dans votre configuration Terraform :
resource "google_cloud_run_v2_job" "default" {
  name     = "JOB_NAME"
  location = "REGION"

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        env {
          name = "KEY-1"
          value = "VALUE-1"
        }
        env {
          name = "KEY-N"
          value = "VALUE-N"
        }
      }
    }
  }
}

Remplacez les éléments suivants :

  • JOB_NAME par le nom de votre job Cloud Run
  • REGION : la région Google Cloud . Exemple : europe-west1.
  • KEY-1 : variable d'environnement.
  • VALUE-1 : valeur associée à la clé.

Vous pouvez également ajouter d'autres blocs env pour définir des variables d'environnement supplémentaires.

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

Vous pouvez utiliser l'instruction ENV 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 de tâche

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

Définir plusieurs variables d'environnement

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

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

Console

  1. Dans la console Google Cloud , accédez à la page des jobs Cloud Run :

    Accédez à Cloud Run

  2. Sélectionnez Jobs dans le menu, puis cliquez sur Déployer un conteneur pour remplir la page des paramètres initiaux du job. Si vous configurez un job existant, sélectionnez-le, puis cliquez sur Afficher et modifier la configuration du job.

  3. Cliquez sur Conteneur(s), Volumes, Connexions, Sécurité pour développer la page des propriétés du job.

  4. Cliquez sur l'onglet Conteneur.

    image

    • Dans l'onglet "Variables et secrets", cliquez sur Ajouter une variable, puis collez le contenu de votre fichier .env dans le champ Nom. Cloud Run remplit automatiquement le champ Value et crée des variables pour chaque paire clé/valeur que vous définissez dans le fichier .env.
  5. Cliquez sur Créer ou Mettre à jour.

gcloud

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

gcloud run jobs create JOB_NAME --image=IMAGE_URL --env-vars-file=ENV_FILE_PATH

Remplacez les éléments suivants :

  • JOB_NAME par le nom de votre job Cloud Run
  • IMAGE_URL : référence à l'image de conteneur (par exemple, us-docker.pkg.dev/cloudrun/container/job:latest).
  • ENV_FILE_PATH : chemin d'accès au fichier .env.

Définir plusieurs variables d'environnement à l'aide de l'indicateur --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 les variables d'environnement

Vous pouvez mettre à jour les variables d'environnement des tâches existantes. Il s'agit d'une approche non destructrice, qui permet de modifier ou d'ajouter des variables d'environnement sans supprimer celles qui ont été définies précédemment.

Console

Pour mettre à jour des variables d'environnement à l'aide de la console Google Cloud , procédez comme suit :

  1. Dans la console Google Cloud , accédez à Cloud Run :

    Accédez à Cloud Run

  2. Sélectionnez votre job dans la liste, puis cliquez sur Modifier et déployer la nouvelle révision.

  3. Cliquez sur l'onglet Conteneur.

  4. Dans l'onglet Variables et secrets, modifiez les champs Nom ou Valeur, puis cliquez sur OK.

  5. Cliquez sur Déployer.

gcloud

Pour mettre à jour les variables d'environnement d'un job existant, utilisez l'indicateur --update-env-vars :

gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Remplacez les éléments suivants :

  • JOB_NAME : nom de votre job.
  • KEY1=VALUE1,KEY2=VALUE2 : liste de noms et de valeurs de variables, séparés par une virgule.

Afficher les paramètres des variables d'environnement

Pour afficher les paramètres actuels des variables d'environnement pour votre tâche Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page des jobs Cloud Run :

    Accéder aux jobs Cloud Run

  2. Cliquez sur le job qui vous intéresse pour ouvrir la page Informations sur le job.

  3. Cliquez sur Afficher et modifier la configuration du job.

  4. Recherchez les variables d'environnement définies dans les détails de la configuration.

gcloud

  1. Exécutez la commande suivante :

    gcloud run jobs describe JOB_NAME
  2. Recherchez le paramètre de variables d'environnement dans la configuration renvoyée.

Supprimer des variables d'environnement

Vous pouvez supprimer des variables d'environnement pour des jobs existants.

Console

Pour supprimer des variables d'environnement à l'aide de la console Google Cloud  :

  1. Dans la console Google Cloud , accédez à Cloud Run :

    Accédez à Cloud Run

  2. Sélectionnez votre job dans la liste, puis cliquez sur Modifier et déployer la nouvelle révision.

  3. Cliquez sur l'onglet Conteneur.

  4. Dans l'onglet Variables et secrets, placez le curseur à gauche du champ Valeur de la variable d'environnement que vous supprimez pour afficher l'icône Supprimer, puis cliquez dessus.

  5. Cliquez sur OK.

  6. Cliquez sur Déployer.

gcloud

Pour supprimer de manière sélective les variables d'environnement d'un job existant, utilisez l'option --remove-env-vars :

gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2

Remplacez les éléments suivants :

  • JOB_NAME : nom de votre job.
  • 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 run jobs update JOB_NAME --clear-env-vars