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 :
- Développeur Cloud Run (
roles/run.developer) sur l'instance Cloud Run - Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur 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 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 queus-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
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
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 queus-docker.pkg.dev/cloudrun/container/hello:latest
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 queus-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
Téléchargez la configuration YAML de l'instance :
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Modifiez les variables de clé (nom) et de valeur.
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 :