Définir des variables d'environnement de compilation (déploiement source)

Les variables d'environnement de compilation sont des paires clé/valeur qui vous permettent de transmettre des informations de configuration aux buildpacks lors du déploiement à partir du code source. Par exemple, au moment de la compilation, vous pouvez personnaliser les options du compilateur, spécifier des certificats de compilation, configurer des paramètres, etc.

Cette page explique comment définir des variables d'environnement de compilation disponibles au moment de la compilation. Elle s'adresse aux développeurs de plate-forme qui déploient des services ou des fonctions Cloud Run à partir de la source. Les indicateurs de variable d'environnement de compilation gcloud CLI sont compatibles avec les déploiements de code source (--source), mais pas avec les déploiements d'images de conteneur (--image).

Vous pouvez utiliser des variables d'environnement pour configurer des services ou des fonctions, mais nous ne les recommandons pas pour stocker des secrets tels que des identifiants de base de données ou des clés API. Stockez les valeurs sensibles en dehors de votre code source et des variables d'environnement. Pour stocker des secrets, nous vous recommandons d'utiliser Secret Manager. Pour configurer les services qui accèdent aux secrets stockés dans Secret Manager, consultez Configurer les secrets.

Avant de commencer

  • Enable the Cloud Run Admin API and Cloud Build APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

    Une fois l'API Cloud Run Admin activée, le compte de service Compute Engine par défaut est créé automatiquement.

Rôles requis

Vous ou votre administrateur devez attribuer les rôles IAM suivants au compte déployeur et au compte de service Cloud Build.

Cliquez ici pour afficher les rôles requis pour le compte déployeur

Pour obtenir les autorisations nécessaires pour compiler et déployer à partir de la source, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Cliquez ici pour afficher les rôles requis pour le compte de service Cloud Build

Cloud Build utilise automatiquement le compte de service Compute Engine par défaut comme compte de service Cloud Build par défaut pour compiler votre code source et votre ressource Cloud Run, sauf si vous modifiez ce comportement. Pour que Cloud Build puisse créer vos sources, demandez à votre administrateur d'accorder le rôle Créateur Cloud Run (roles/run.builder) au compte de service Compute Engine par défaut sur votre projet :

  gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
      --role=roles/run.builder
  

Remplacez PROJECT_NUMBER par le numéro de votre projet Google Cloudet PROJECT_ID par l'ID de votre projet Google Cloud. Pour obtenir des instructions détaillées sur la recherche de votre ID et de votre numéro de projet, consultez la section Créer et gérer des projets.

L'attribution du rôle "Compilateur Cloud Run" au compte de service Compute Engine par défaut prend quelques minutes à se propager.

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 service Cloud Run communique avec les APIGoogle Cloud , 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.

Nombre maximal de variables d'environnement de compilation et limites

Vous pouvez définir jusqu'à 100 variables d'environnement de compilation, avec une limite totale de 64 Kio pour les clés et les valeurs.

Définir des variables d'environnement de compilation

Vous pouvez définir des variables d'environnement de compilation pour établir de nouvelles variables ou remplacer complètement les variables de compilation existantes.

gcloud

Pour définir des variables d'environnement de compilation lors du déploiement d'un service à partir du code source, utilisez l'option --set-build-env-vars :

gcloud run deploy SERVICE \
    --source . \
    --set-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Remplacez :

  • SERVICE par le nom de votre service Cloud Run.
  • KEY1=VALUE1,KEY2=VALUE2 par la liste de noms de variables séparés par une virgule et de leurs valeurs, déployées avec une fonction qui vous permet de transmettre des informations de configuration aux buildpacks.

Si vous déployez une fonction, ajoutez l'option --function avec le point d'entrée de la fonction à partir de votre code source.

Mettre à jour les variables d'environnement de compilation

Vous pouvez mettre à jour les variables d'environnement de compilation pour les services existants. Il s'agit d'une approche non destructrice, qui permet de modifier ou d'ajouter des variables d'environnement de compilation sans les supprimer.

gcloud

Pour mettre à jour les variables d'environnement de compilation pour les services existants, utilisez l'indicateur --update-build-env-vars :

gcloud run deploy SERVICE \
    --source . \
    --update-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Si vous déployez une fonction, ajoutez l'option --function avec le point d'entrée de la fonction à partir de votre code source.

Supprimer des variables d'environnement de compilation

Vous pouvez supprimer des variables d'environnement de compilation pour des services existants.

gcloud

Pour supprimer des variables d'environnement de compilation pour les services existants, utilisez l'option --remove-build-env-vars :

gcloud run deploy SERVICE \
    --source . \
    --remove-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Vous pouvez également effacer les variables d'environnement de compilation à l'aide de --clear-build-env-vars pour les services existants :

gcloud run deploy SERVICE \
    --source . \
    --clear-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Si vous déployez une fonction, ajoutez l'option --function avec le point d'entrée de la fonction à partir de votre code source.

Utiliser un fichier de variables d'environnement de compilation

Vous pouvez utiliser un fichier de variables d'environnement de compilation pour les fonctions existantes.

gcloud

Pour définir des variables d'environnement de compilation à partir d'un fichier, utilisez l'indicateur --build-env-vars-file :

gcloud run deploy SERVICE \
    --source . \
    --build-env-vars-file FILE_NAME.yaml

Remplacez FILE_NAME.yaml par le contenu du fichier, qui doit ressembler à ceci :

 KEY1: VALUE1
 KEY2: VALUE2

Si vous déployez une fonction, ajoutez l'option --function avec le point d'entrée de la fonction à partir de votre code source.