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, al tempo di compilazione, potresti voler personalizzare le opzioni del compilatore, specificare i certificati di compilazione, 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 dal codice sorgente. I flag della gcloud CLI delle variabili di 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. Archivia 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 l'API Cloud Run Admin e le API Cloud Build.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilita le API

    Dopo aver abilitato 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 al service account del deployer e al account di servizio Cloud Build i seguenti ruoli IAM.

Fai clic per visualizzare i ruoli richiesti per il service account del deployer

Per ottenere le autorizzazioni necessarie per eseguire la build e il deployment dall'origine, chiedi all'amministratore di concederti i seguenti ruoli IAM ruoli:

Fai clic per visualizzare i ruoli richiesti per il account di servizio Cloud Build

Per impostazione predefinita, Cloud Build utilizza automaticamente il service account predefinito di Compute Engine come account di servizio Cloud Build predefinito per creare il codice sorgente e la risorsa Cloud Run, a meno che tu non esegui l'override di questo comportamento. Affinché Cloud Build possa creare le tue origini, chiedi all'amministratore di concedere 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 tuo Google Cloud numero del progetto e PROJECT_ID con il tuo Google Cloud ID progetto. Per istruzioni dettagliate su come trovare l'ID progetto e il numero del progetto, consulta Creazione e gestione dei progetti.

La propagazione della concessione del ruolo Cloud Run Builder al account di servizio predefinito di Compute Engine richiede alcuni minuti per propagarsi.

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 dei nomi delle variabili e dei relativi valori che vengono implementati insieme a una funzione che consente di passare le informazioni di configurazione ai buildpack.

Se stai eseguendo 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 stai eseguendo 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 --clear-build-env-vars per i servizi esistenti:

gcloud run deploy SERVICE \
    --source . \
    --clear-build-env-vars KEY1=VALUE1,KEY2=VALUE2

Se stai eseguendo il deployment di una funzione, aggiungi il flag --function con l'entry point della funzione dal codice sorgente.

Utilizza 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 il contenuto del file, che dovrebbe essere simile al seguente:

 KEY1: VALUE1
 KEY2: VALUE2

Se stai eseguendo il deployment di una funzione, aggiungi il flag --function con l'entry point della funzione dal codice sorgente.