Le variabili di ambiente di build sono coppie chiave-valore che consentono di passare le informazioni di configurazione ai buildpack durante il deployment dal codice sorgente. Ad esempio, al momento della build, potresti voler personalizzare le opzioni del compilatore, specificare i certificati di build, configurare i parametri e così via.
Questa pagina mostra come impostare le variabili di ambiente di build disponibili al momento della build ed è pertinente per gli sviluppatori di piattaforme che eseguono il deployment di servizi o funzioni Cloud Run dall'origine. I flag dell'interfaccia a riga della gcloud CLI della variabile
dell'ambiente di build sono supportati per
i deployment di origine (--source) e non
sono supportati per i deployment di immagini container (--image).
Puoi utilizzare le variabili di ambiente per la configurazione di servizi o funzioni, ma non le consigliamo come metodo per archiviare secret come credenziali del database o chiavi API. Memorizza i valori sensibili al di fuori del codice sorgente e delle variabili di ambiente. Per archiviare i secret, ti consigliamo di utilizzare Secret Manager. Per configurare i servizi che accedono ai secret archiviati in Secret Manager, consulta Configura i secret.
Prima di iniziare
-
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 theserviceusage.services.enablepermission. Learn how to grant roles.Una volta abilitata l'API Cloud Run Admin, viene creato automaticamente il account di servizio predefinito di Compute Engine.
Ruoli obbligatori
Tu o il tuo amministratore dovete concedere all'account di deployment e al account di servizio Cloud Build i seguenti ruoli IAM.
Fai clic per visualizzare i ruoli richiesti per l'account di deployment
Per ottenere le autorizzazioni necessarie per compilare ed eseguire il deployment dal codice sorgente, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Cloud Run Source Developer (
roles/run.sourceDeveloper) sul tuo progetto - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) sul tuo progetto - Service Account User (
roles/iam.serviceAccountUser) sull'identità di servizio Cloud Run
Fai clic per visualizzare i ruoli richiesti per il account di servizio Cloud Build
Cloud Build utilizza automaticamente l'account di servizio predefinito di Compute Engine come service account Cloud Build predefinito per creare il codice sorgente e la risorsa Cloud Run, a meno che tu non esegua l'override di questo comportamento. Per consentire a Cloud Build di creare le tue origini, chiedi all'amministratore di concedere il ruolo Cloud Run Builder (roles/run.builder) al account di servizio Compute Engine predefinito nel tuo progetto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Sostituisci PROJECT_NUMBER con il numero del tuo progetto Google Cloude PROJECT_ID con l'ID progetto Google Cloud. Per istruzioni dettagliate su come trovare l'ID progetto e il numero di progetto,
vedi Creazione
e gestione dei progetti.
La concessione del ruolo Cloud Run Builder al account di servizio Compute Engine predefinito richiede alcuni minuti per la propagazione.
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo servizio Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.
Numero massimo di variabili di ambiente di build e limiti
Puoi definire fino a 100 variabili di ambiente di build, con un limite totale di 64 KiB per chiave e valore.
Imposta le variabili di ambiente di build
Puoi impostare le variabili di ambiente di build per stabilire nuove variabili o sostituire completamente quelle esistenti.
gcloud
Per impostare le variabili di ambiente di build durante il deployment di un servizio dal codice sorgente, utilizza il flag --set-build-env-vars:
gcloud run deploy SERVICE \ --source . \ --set-build-env-vars KEY1=VALUE1,KEY2=VALUE2
Sostituisci:
- SERVICE con il nome del tuo servizio Cloud Run.
- KEY1=VALUE1,KEY2=VALUE2 con l'elenco separato da virgole di nomi di variabili e relativi valori implementati insieme a una funzione che consente di passare le informazioni di configurazione ai buildpack.
Se esegui il deployment di una funzione, aggiungi il flag --function con l'entry point della funzione dal codice sorgente.
Aggiorna le variabili di ambiente di build
Puoi aggiornare le variabili di ambiente di build per i servizi esistenti. Si tratta di un approccio non distruttivo che modifica o aggiunge variabili di ambiente di build, ma non le elimina.
gcloud
Per aggiornare le variabili di ambiente di build per i servizi esistenti, utilizza il flag
--update-build-env-vars:
gcloud run deploy SERVICE \ --source . \ --update-build-env-vars KEY1=VALUE1,KEY2=VALUE2
Se esegui il deployment di una funzione, aggiungi il flag --function con l'entry point della funzione dal codice sorgente.
Elimina le variabili di ambiente di build
Puoi eliminare le variabili di ambiente di build per i servizi esistenti.
gcloud
Per rimuovere le variabili di ambiente di build per i servizi esistenti, utilizza il flag
--remove-build-env-vars:
gcloud run deploy SERVICE \ --source . \ --remove-build-env-vars KEY1=VALUE1,KEY2=VALUE2
In alternativa, puoi cancellare le variabili di ambiente di build utilizzando il flag --clear-build-env-vars per i servizi esistenti:
gcloud run deploy SERVICE \ --source . \ --clear-build-env-vars KEY1=VALUE1,KEY2=VALUE2
Se esegui il deployment di una funzione, aggiungi il flag --function con l'entry point della funzione dal codice sorgente.
Utilizzare un file di variabili di ambiente di build
Puoi utilizzare un file di variabili di ambiente di build per le funzioni esistenti.
gcloud
Per impostare le variabili di ambiente di build da un file, utilizza il flag --build-env-vars-file:
gcloud run deploy SERVICE \ --source . \ --build-env-vars-file FILE_NAME.yaml
Sostituisci FILE_NAME.yaml con i contenuti del file, che dovrebbero avere il seguente aspetto:
KEY1: VALUE1
KEY2: VALUE2
Se esegui il deployment di una funzione, aggiungi il flag --function con l'entry point della funzione dal codice sorgente.