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, in fase di 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 tempo di compilazione ed è pertinente per gli sviluppatori di piattaforme che eseguono il deployment di servizi o funzioni Cloud Run dall'origine. Le variabili di ambiente di build
e i flag gcloud CLI 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
-
Abilita le API Cloud Run Admin e Cloud Build, se non sono già abilitate.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Una volta abilitata l'API Cloud Run Admin, viene creato automaticamente l'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 chiavi e valori di 64 KiB.
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 dove 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.