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 lorsque vous déployez à 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 Cloud Run services ou functions à partir de la source. Les options de la gcloud CLI pour les variables d'environnement de compilation sont compatibles avec les déploiements de source (--source), mais pas avec les déploiements d'image de conteneur (--image).

Vous pouvez utiliser des variables d'environnement pour la configuration des services ou des fonctions, mais nous ne vous recommandons pas de les utiliser 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 des services qui accèdent aux secrets stockés dans Secret Manager, consultez Configurer des secrets.

Avant de commencer

  • Activez l'API Cloud Run Admin et les API Cloud Build.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer les API

    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 remplacez ce comportement. Pour que Cloud Build puisse compiler vos sources, demandez à votre administrateur d'accorder le rôle Compilateur 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 votre Google Cloud numéro de projet et PROJECT_ID par votre Google Cloud ID de projet. Pour obtenir des instructions détaillées sur la recherche de votre ID et de votre numéro de projet, consultez Créer et gérer des projets.

La propagation de l'attribution du rôle de compilateur Cloud Run au compte de service Compute Engine par défaut prend quelques minutes pour 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 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.

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 des 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 des 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'option --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 les 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 l'option --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'option --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 se présenter comme suit :

 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.