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'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.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 :
- Développeur de source Cloud Run (
roles/run.sourceDeveloper) sur votre projet - Consommateur d'utilisation du service (
roles/serviceusage.serviceUsageConsumer) sur votre projet - Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur l'identité du service Cloud Run
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.