Impostare le variabili di ambiente di compilazione (deployment dell'origine)

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 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 delle origini (--source) e non per i deployment delle 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 le credenziali del database o le 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, vedi Configurare 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

    Dopo aver abilitato 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 creare e implementare dal codice sorgente, chiedi all'amministratore di concederti i seguenti ruoli IAM:

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 predefinito di Compute Engine sul 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 del tuo 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 all'account di servizio Compute Engine predefinito richiede un paio di 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 ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.

Numero massimo di variabili di ambiente di build e limiti

Puoi definire fino a 100 variabili dell'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 le variabili di build 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 delle variabili e i relativi valori che vengono implementati insieme a una funzione che ti consente di trasmettere informazioni di configurazione ai buildpack.

Se esegui il deployment di una funzione, aggiungi il flag --function con il punto di ingresso 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 il punto di ingresso 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 --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 il punto di ingresso 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 il punto di ingresso della funzione dal codice sorgente.