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

Le variabili di ambiente di build sono coppie chiave-valore che ti consentono di passare le informazioni di configurazione ai buildpack durante il deployment dal codice sorgente. Ad esempio, in fase 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 compilazione disponibili al momento della compilazione ed è pertinente per gli sviluppatori di piattaforme che eseguono il deployment di servizi o funzioni Cloud Run dal codice sorgente. I flag dell'interfaccia a riga di comando gcloud per le variabili dell'ambiente di compilazione sono supportati per i deployment di origine (--source) e non per i deployment di immagini contenitore (--image).

Prima di iniziare

  • Abilita l'API Cloud Run Admin e l'API Cloud Build:

    gcloud services enable run.googleapis.com \
        cloudbuild.googleapis.com

    Dopo aver attivato l'API Cloud Run Admin, l'account di servizio predefinito di Compute Engine viene creato automaticamente.

Ruoli obbligatori

Tu o il tuo amministratore dovete concedere all'account di deployment e all'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:

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

Cloud Build utilizza automaticamente l'account di servizio predefinito di Compute Engine come account di servizio Cloud Build predefinito per compilare il codice sorgente e la risorsa Cloud Run, a meno che tu non sostituisca questo comportamento. Affinché Cloud Build possa compilare le sorgenti, chiedi all'amministratore di concedere il ruolo Cloud Run Builder (roles/run.builder) all'account di servizio predefinito di Compute Engine 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 Google Cloud del progetto e PROJECT_ID con l'ID Google Cloud del progetto. Per istruzioni dettagliate su come trovare l'ID progetto e il numero del progetto, consulta Creazione e gestione dei progetti.

La propagazione del ruolo del compilatore Cloud Run all'account di servizio predefinito di Compute Engine richiede un paio di minuti.

Per un elenco dei ruoli e delle autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il servizio Cloud Run interagisce conGoogle Cloud API, come le librerie client di Cloud, consulta la guida alla configurazione dell'identità di servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta le autorizzazioni di deployment e gestisci l'accesso.

Imposta le variabili di ambiente di compilazione

Puoi impostare le variabili di ambiente di compilazione per stabilire nuove variabili o sostituire completamente quelle esistenti.

gcloud

Per impostare le variabili di ambiente di compilazione durante il deployment di un servizio dal codice sorgente, utilizza il flag --set-build-env-vars:

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

Sostituisci:

  • SERVICE con il nome del servizio Cloud Run.
  • KEY1=VALUE1,KEY2=VALUE2 con l'elenco separato da virgole di nomi di variabili e relativi valori di cui viene eseguito il deployment 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 il punto di ingresso della funzione dal codice sorgente.

Aggiorna le variabili di ambiente di build

Puoi aggiornare le variabili di ambiente di compilazione per i servizi esistenti. Si tratta di un approccio non distruttivo che modifica o aggiunge le variabili di ambiente di compilazione, ma non le elimina.

gcloud

Per aggiornare le variabili di ambiente di compilazione per i servizi esistenti, utilizza il flag --update-build-env-vars:

gcloud beta 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 il punto di ingresso della funzione dal codice sorgente.

Eliminare le variabili di ambiente di build

Puoi eliminare le variabili di ambiente di compilazione per i servizi esistenti.

gcloud

Per rimuovere le variabili di ambiente di compilazione per i servizi esistenti, utilizza il flag --remove-build-env-vars:

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

In alternativa, puoi cancellare le variabili di ambiente di compilazione utilizzando --clear-build-env-vars per i servizi esistenti:

gcloud beta 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 il punto di ingresso della funzione dal codice sorgente.

Utilizzare un file di variabili di ambiente di compilazione

Puoi utilizzare un file di variabili di ambiente di compilazione per le funzioni esistenti.

gcloud

Per impostare le variabili di ambiente di compilazione da un file, utilizza il --build-env-vars-file flag:

gcloud beta run deploy SERVICE \
    --source . \
    --build-env-vars-file FILE_NAME.yaml

Sostituisci FILE_NAME.yaml con i contenuti del file, che devono avere il seguente aspetto:

 KEY1: VALUE1
 KEY2: VALUE2

Se stai eseguendo il deployment di una funzione, aggiungi il flag --function con il punto di ingresso della funzione dal codice sorgente.