Lavorare con le variabili d'ambiente
Imparate a lavorare con le variabili d'ambiente (env variables) in Code Engine. È possibile impostare le variabili d'ambiente come coppie chiave-valore che possono essere utilizzate dall'applicazione, dal lavoro o dalla funzione.
Creare e aggiornare le variabili d'ambiente
Creare e gestire le variabili d'ambiente con Code Engine.
È possibile definire le variabili d'ambiente come valori letterali o fare riferimento a un segreto o a una mappa di configurazione esistente. Code Engine utilizza le variabili d'ambiente per consentire l'uso di segreti o mappe di configurazione da parte del lavoro, dell'applicazione o della funzione.
Creare variabili d'ambiente dalla console
Creare e aggiornare le variabili d'ambiente con la console Code Engine.
È possibile definire le variabili d'ambiente quando si crea o si aggiorna l'applicazione, il lavoro o la funzione dalla console.
Prima di iniziare
- È necessario creare il progetto e che questo sia in stato
active. - Determinare se si vuole creare una variabile d'ambiente letterale o creare una variabile d'ambiente che faccia riferimento a un segreto o a una mappa di configurazione esistente. Se si vuole che la variabile d'ambiente faccia riferimento completo a un segreto o a una mappa di configurazione esistenti o a singole chiavi in un segreto o in una mappa di configurazione esistenti, il segreto o la mappa di configurazione devono esistere. Prima di procedere, vedere Creare un segreto o Creare una mappa di configurazione per definire il segreto o la mappa di configurazione.
-
Per aprire la finestra di dialogo per definire la variabile d'ambiente nella pagina Aggiungi variabile d'ambiente, completare una delle seguenti scelte.
- Se si sta creando un'applicazione, dalla pagina Crea applicazione, espandere la sezione Variabili d'ambiente (facoltative). È possibile aggiungere una o più variabili d'ambiente all'applicazione che si sta creando. Fare clic su Aggiungi per aprire la pagina Aggiungi variabile d'ambiente.
- Se si sta creando un lavoro, dalla pagina Crea lavoro espandere la sezione Variabili d'ambiente (facoltative). Fare clic su Aggiungi per aprire la pagina Aggiungi variabile d'ambiente.
- Se si sta creando una funzione, dalla pagina Crea funzione, espandere la sezione Variabili d'ambiente (facoltative). Fare clic su Aggiungi per aprire la pagina Aggiungi variabile d'ambiente.
- Se si sta aggiornando un carico di lavoro esistente per aggiungere le variabili d'ambiente, accedere all'applicazione, al lavoro o alla funzione esistente. Dalla scheda Configurazione, fare clic su Variabili d'ambiente. Per le applicazioni, i lavori e le funzioni, fare clic su Aggiungi variabile d'ambiente per aprire la pagina Aggiungi variabile d'ambiente.
-
Dalla pagina Aggiungi variabile d'ambiente, creare una variabile d'ambiente in uno dei seguenti modi,
- Per creare una variabile d'ambiente letterale, scegliere
Literal value, specificare il nome della variabile d'ambiente letterale e fornire un valore. Notate che la sezioneResulting definitionmostra il nome della variabile d'ambiente e il suo valore. - Per creare una variabile d'ambiente che faccia riferimento completo a una mappa di configurazione, scegliere
Reference full configmap, quindi selezionare la mappa di configurazione esistente. In questo caso, tutte le chiavi della configmap selezionata sono referenziate come parte della variabile d'ambiente. Si noti che la sezioneResulting definitionvisualizza il nome delle chiavi nella configmap, ma non i valori effettivi delle chiavi a cui si fa riferimento nella configmap. - Per creare una variabile d'ambiente che faccia riferimento a una singola chiave di una configmap definita, scegliere
Reference key in configmap, selezionare la configmap esistente desiderata e quindi selezionare la chiave a cui fare riferimento come parte della variabile d'ambiente. Dopo aver selezionato la singola chiave nella configmap a cui si vuole fare riferimento, si noti che la sezioneResulting definitionvisualizza il nome della chiave selezionata nella configmap, ma non il valore effettivo della chiave a cui si fa riferimento nella configmap. - Per creare una variabile d'ambiente che faccia riferimento completo a un segreto, scegliere
Reference full secret, quindi selezionare il segreto esistente. In questo caso, tutte le chiavi del segreto selezionato sono referenziate come parte della variabile d'ambiente. Si noti che la sezioneResulting definitionvisualizza il nome delle chiavi nel segreto, ma non i valori effettivi delle chiavi a cui si fa riferimento nel segreto. - Per creare una variabile d'ambiente che faccia riferimento a una singola chiave di un segreto definito, scegliere
Reference key in secret, selezionare il segreto esistente che si desidera e quindi selezionare la chiave a cui fare riferimento come parte della variabile d'ambiente. Dopo aver selezionato la singola chiave nel segreto a cui si vuole fare riferimento, si nota che la sezioneResulting definitionvisualizza il nome della chiave selezionata nel segreto, ma non il valore effettivo della chiave a cui si fa riferimento nel segreto.
Dalla console, è possibile fare riferimento a una sola chiave di una configmap o di un segreto definito per ogni variabile d'ambiente. Se è necessario fare riferimento a più di una chiave di una configmap o di un segreto, ripetere i passaggi per definire un'altra variabile d'ambiente che faccia riferimento a una chiave diversa.
- Per creare una variabile d'ambiente letterale, scegliere
-
Fare clic su Fine per salvare le modifiche. Questa azione aggiunge la variabile d'ambiente alla tabella della scheda Variabili d'ambiente. Per continuare ad aggiungere variabili d'ambiente, fare clic su Aggiungi.
-
Completare la creazione o l'aggiornamento dell'applicazione, del lavoro o della funzione con la variabile d'ambiente definita.
- Se si sta creando un carico di lavoro, quando si fa clic su Crea, l'applicazione, il lavoro o la funzione vengono distribuiti con le variabili d'ambiente.
- Se si sta aggiornando un'applicazione, un lavoro o una funzione esistente per aggiungere una variabile d'ambiente, fare clic su Salva e distribuisci per aggiornare l'applicazione o su Salva per aggiornare il lavoro o la funzione con le nuove variabili d'ambiente.
-
Quando l'applicazione, il lavoro o la funzione sono nello stato
Ready, vengono aggiornati con le variabili d'ambiente.
La tabella seguente descrive le informazioni sulle variabili d'ambiente.
| Intestazione | Descrizione |
|---|---|
Name |
Il nome della tua variabile di ambiente. |
Defined by |
Specifica se la variabile d'ambiente è di tipo literal, o se la variabile d'ambiente è una configmap o un segreto completamente referenziato, o se sono referenziate chiavi specifiche di un segreto o di una configmap. |
Value or reference |
Visualizza il valore letterale, la configmap o il segreto completamente referenziato o le chiavi referenziate di una configmap o di un segreto. |
Ad esempio, creiamo un'applicazione e impostiamo le variabili d'ambiente per l'applicazione.
- Creare un'applicazione denominata
myapp, che utilizza l'immagineicr.io/codeengine/codeengine. Questa applicazionehello-worldinclude la variabile d'ambienteTARGET, e l'applicazione stampaHello ${TARGET} from Code Enginee un elenco delle variabili d'ambiente. Se la variabile d'ambienteTARGETè vuota, viene restituitoHello World from Code Engine. - Andare a questa applicazione nella console.
- Quando l'applicazione è nello stato
Ready, è possibile testarla. Fare clic su Applicazione di prova e quindi su Invia richiesta nel riquadro Applicazione di prova. Per aprire l'applicazione in una pagina web, fare clic su Applicazione URL. L'applicazionemyapprestituisce una rispostaHello World from Code Enginee stampa le variabili d'ambiente incluse in questa applicazione. - Fare clic sulla scheda Variabili d'ambiente.
- Creare le seguenti variabili d'ambiente.
- Fare clic su Aggiungi per aprire la pagina Aggiungi variabile d'ambiente e creare una variabile d'ambiente letterale. Ad esempio, si crei una variabile d'ambiente letterale con il nome
literalenvvare con il valore diThis is my literal. Fare clic su Fine per salvare le modifiche. - Fare clic su Aggiungi per aprire la pagina Aggiungi variabile d'ambiente e creare una variabile d'ambiente che faccia riferimento completo a una mappa di configurazione. Per poter fare riferimento a una mappa
di configurazione, questa deve esistere. Per questo esempio, esiste una configmap con il nome
mycolorconfigmapche contiene le seguenti coppie chiave-valore:key1=blue,key2=green, ekey3=yellow. Creare una variabile d'ambiente che faccia riferimento completo alla configmap dimycolorconfigmap, comprese tutte le sue coppie chiave-valore. Si noti che la sezioneResulting definitionvisualizza il nome delle chiavi nella configmap, ma non i valori effettivi delle chiavi a cui si fa riferimento nella configmap. Fare clic su Fine per salvare le modifiche. - Fare clic su Aggiungi per aprire la pagina Aggiungi variabile d'ambiente e creare un'altra variabile d'ambiente che faccia riferimento a una singola chiave di un segreto definito. Per poter fare riferimento
a un segreto, è necessario che esso esista. Per questo esempio, esiste un segreto con il nome
mynewsecretche contiene le seguenti coppie chiave-valore:newsec1=mynewsecret1,newsec2=mynewsecret2, enewsec3=mynewsecret3. Creare una variabile d'ambiente che faccia riferimento alla chiavenewsec2del segretomynewsecret. Si noti che la sezioneResulting definitionvisualizza il nome della chiave selezionata nel segreto, ma non il valore effettivo della chiave a cui si fa riferimento nel segreto. Fare clic su Fine per salvare le modifiche.
- Fare clic su Aggiungi per aprire la pagina Aggiungi variabile d'ambiente e creare una variabile d'ambiente letterale. Ad esempio, si crei una variabile d'ambiente letterale con il nome
- Fare clic su Salva e crea per aggiornare l'applicazione con le nuove variabili d'ambiente.
- Quando l'applicazione è nello stato
Ready, viene aggiornata con le variabili d'ambiente. - Per testare l'applicazione, fare clic su Prova applicazione e quindi su Invia richiesta nel riquadro Prova applicazione. Per aprire l'applicazione in una pagina web, fare clic su Applicazione URL.
Con questa revisione, l'applicazione produce
Hello World from Code Enginee l'output include i nomi delle variabili d'ambiente che sono state aggiunte nei passaggi precedenti.
Quando si impostano le variabili d'ambiente nel carico di lavoro, questa azione aggiunge una nuova variabile d'ambiente o sostituisce una variabile d'ambiente esistente. Se si dispone di una variabile d'ambiente con lo stesso nome e si specifica un valore diverso da quello della variabile d'ambiente precedentemente definita, la variabile d'ambiente aggiornata sostituisce il valore esistente. Ad esempio, se si definisce una variabile d'ambiente denominata
envvar1 e il suo valore è myenvar1, e si definisce un'altra variabile d'ambiente denominata envvar1 e si specifica il suo valore come mynewenvvar1, dopo aver salvato e distribuito l'applicazione
aggiornata o aver salvato il lavoro aggiornato, l'applicazione o il lavoro in esecuzione utilizza la variabile d'ambiente envvar1 con il valore mynewenvvar1.
Aggiornamento delle variabili d'ambiente dalla console
- Per aggiornare una variabile d'ambiente esistente, accedere all'applicazione, al lavoro o alla funzione che include la variabile d'ambiente da modificare e fare clic sulla scheda Variabili d'ambiente per visualizzare la tabella delle variabili d'ambiente.
- Dalla tabella delle variabili d'ambiente, fare clic sulla variabile d'ambiente che si desidera aggiornare.
- Dalla pagina Modifica variabile d'ambiente, effettuare l'aggiornamento e fare clic su Fine per salvare le modifiche. Quando si modifica la variabile d'ambiente, è possibile modificare il valore Definito da e i relativi campi obbligatori.
- Fare clic su Salva e distribuisci per distribuire l'applicazione con le modifiche apportate o su Salva per eseguire il lavoro con le modifiche apportate. Quando l'applicazione o il lavoro è nello stato
Ready, l'applicazione o il lavoro viene aggiornato con le variabili d'ambiente.
Creare e aggiornare le variabili d'ambiente con la CLI
Creare e gestire le variabili d'ambiente con la CLI di Code Engine.
È possibile definire le variabili d'ambiente quando si crea o si aggiorna l'applicazione, il lavoro o la funzione con la CLI.
Quando si crea una variabile d'ambiente con la CLI, si può fare riferimento a configmap o segreti, oppure si può creare una variabile d'ambiente letterale. Queste istruzioni descrivono la creazione e l'aggiornamento di una variabile d'ambiente letterale con la CLI.
Per informazioni dettagliate sulla referenziazione di segreti e configmap completi come variabili d'ambiente, sulla sovrascrittura dei riferimenti e sulla rimozione dei riferimenti nella CLI, vedere Referenziazione di segreti e configmap.
Prima di iniziare
- Configurare l'ambiente Code Engine CLI.
- Creare e lavorare con un progetto.
Creare e aggiornare le variabili d'ambiente per l'applicazione
Creare e aggiornare le variabili d'ambiente per l'applicazione come segue,
-
Per creare e impostare una variabile d'ambiente per la vostra applicazione, usate l'opzione
--envcon il metodoapp createoapp update. L'esempio seguente crea l'applicazionemyappche utilizza l'immagineicr.io/codeengine/codeenginee definisce le variabili d'ambienteenvAeenvB.ibmcloud ce application create --name myapp --image icr.io/codeengine/codeengine --env envA=A --env envB=B -
Per aggiornare le variabili d'ambiente di un'applicazione esistente, utilizzare l'opzione
--envcon il comandoapp updatecon il comando L'esempio seguente aggiorna l'applicazionemyappper sovrascrivere il valore dienvAe aggiunge la variabile d'ambienteenvC.ibmcloud ce application update --name myapp --env envA=AA --env envC=C
Creare e aggiornare le variabili d'ambiente per il lavoro
Impostate e aggiornate le variabili d'ambiente per il vostro lavoro come segue,
-
Per creare e impostare una variabile d'ambiente per il lavoro, utilizzare l'opzione
--envcon l'opzionejob create,job update,jobrun submit, ojobrun resubmito con il comando. L'esempio seguente crea il lavoromyjobche utilizza l'immagineicr.io/codeengine/codeenginee definisce la variabile d'ambienteenvA.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --env envA=A -
Per aggiornare le variabili d'ambiente di un lavoro esistente, utilizzare l'opzione
--envcon l'opzionejob update,jobrun submit, ojobrun resubmit.
Esempio 1
L'esempio seguente aggiorna il lavoro myjob per sovrascrivere il valore di envA e aggiunge la variabile d'ambiente envB.
ibmcloud ce job update --name myjob --env envA=AA --env envB=B
Eseguire il comando job get per visualizzare i dettagli del lavoro, comprese le variabili d'ambiente.
ibmcloud ce job get --name myjob
Output di esempio
Getting job 'myjob'...
OK
Name: myjob
[...]
Environment Variables:
Type Name Value
Literal envA AA
Literal envB B
Image: icr.io/codeengine/codeengine
[...]
Esempio 2
L'esempio seguente esegue il lavoro myjob, sovrascrive il valore di envA e aggiunge la variabile d'ambiente envD per questo lavoro.
ibmcloud ce jobrun submit --job myjob --name myjobrun1 --env envB=BB --env envC=C
Eseguire il comando jobrun get per visualizzare i dettagli dell'esecuzione del lavoro, comprese le variabili d'ambiente.
ibmcloud ce jobrun get --name myjobrun1
Output di esempio
[...]
Name: myjobrun1
[...]
Job Ref: myjob
Environment Variables:
Type Name Value
Literal envA AA
Literal envB BB
Literal envC C
Image: icr.io/codeengine/codeengine
[...]
Instances:
Name Running Status Restarts Age
myjobrun1-0-0 0/1 Succeeded 0 17s
Creare e aggiornare le variabili d'ambiente per la propria funzione
Impostate e aggiornate le variabili d'ambiente per la vostra funzione come segue.
-
Per creare e impostare una variabile d'ambiente per la propria funzione, utilizzare l'opzione
--envcon l'opzionefunction createo con il comandofunction updateo con il comando L'esempio seguente crea la funzionemyfunctionche utilizza il codice sorgentehttps://github.com/IBM/CodeEnginee definisce la variabile d'ambienteenvA.ibmcloud ce function create --name myfunction --runtime nodejs --build-source https://github.com/IBM/CodeEngine --build-context-dir /helloworld-samples/function-codebundle-nodejs --env envA=AEsempio di output del comando
fn getdel comando.Environment Variables: Type Name Value Literal envA A -
Per aggiornare le variabili d'ambiente di una funzione esistente, utilizzare l'opzione
--envcon il comandofunction updatedel comando. L'esempio seguente aggiorna la funzionemyfunctionper sovrascrivere il valore dienvAe aggiunge la variabile d'ambienteenvC.ibmcloud ce fn update --name myfunction --env envA=AA --env envC=CEsempio di output del comando
fn getdel comando.Environment Variables: Type Name Value Literal envA AA Literal envC C
Considerazioni sull'aggiornamento dei carichi di lavoro con variabili d'ambiente
Considerate le seguenti informazioni quando aggiornate un'applicazione, un lavoro o una funzione che ha una variabile d'ambiente che fa riferimento a configmap o segreti.
Quando si aggiorna un'applicazione, un lavoro o una funzione che ha una variabile d'ambiente che fa riferimento completo a una configmap (o a un segreto) in modo che faccia riferimento completo a una configmap (o a un segreto) diversa, i riferimenti completi sovrascrivono altri riferimenti completi nell'ordine in cui sono impostati (l'ultimo set di riferimenti sovrascrive il primo set).
Quando si aggiorna un'applicazione, un lavoro o una funzione che ha una variabile d'ambiente che fa riferimento a una chiave in una configmap (o un segreto) per fare riferimento alla stessa chiave in una configmap (o un segreto) diversa, viene
usata l'ultima chiave a cui si fa riferimento.
Quando si aggiorna un'applicazione, un lavoro o una funzione che ha una variabile d'ambiente che fa riferimento completo a una configmap (o a un segreto) per aggiungere un riferimento a una chiave specifica, il riferimento alla chiave specifica sostituisce il riferimento completo alla configmap (o al segreto).
Eliminazione delle variabili d'ambiente
Quando non si ha più bisogno di una variabile d'ambiente, è possibile eliminarla.
Eliminazione delle variabili d'ambiente dalla console
- Dalla console, andare all'applicazione, al lavoro o alla funzione che ha la variabile d'ambiente che si desidera eliminare. Fare clic sulla scheda Variabili d'ambiente.
- Dalla tabella delle variabili d'ambiente, eliminare la variabile d'ambiente che si desidera rimuovere dall'applicazione, dal lavoro o dalla funzione.
- Fare clic su Salva e distribuisci per aggiornare l'applicazione o su Salva per aggiornare il lavoro o la funzione con le nuove variabili d'ambiente. Quando l'applicazione, il lavoro o la funzione sono nello
stato
Ready, vengono aggiornati con le variabili d'ambiente correnti.
Eliminazione delle variabili d'ambiente con la CLI
Quando si lavora con le variabili d'ambiente con la CLI, si può fare riferimento a configmap o segreti esistenti, oppure si può lavorare con variabili d'ambiente letterali. Queste istruzioni descrivono l'eliminazione di una variabile d'ambiente letterale con la CLI.
Per informazioni dettagliate sulla rimozione dei riferimenti a segreti e configmap completi nella CLI, vedere Riferimento a segreti e configmap.
Cancellare le variabili d'ambiente per l'applicazione
Per rimuovere una variabile d'ambiente per la vostra applicazione, usate l'opzione --env-rm con il comando app update del
comando. L'esempio seguente aggiorna l'applicazione myapp per eliminare la variabile d'ambiente envA.
ibmcloud ce application update --name myapp --env-rm envA
Cancellare le variabili d'ambiente per il lavoro
Per rimuovere una variabile d'ambiente per il lavoro, utilizzare l'opzione --env-rm con il comando job update o jobrun resubmit.
Usare l'opzione --env-rm con il comando job update per rimuovere le variabili d'ambiente impostate sul lavoro. Utilizzare l'opzione --env-rm con il comando jobrun resubmit per rimuovere le variabili d'ambiente impostate durante l'esecuzione di un lavoro specifico.
-
L'esempio seguente aggiorna il lavoro
myjobper eliminare la variabile d'ambienteenvA.ibmcloud ce job update --name myjob --env-rm envAUtilizzare il comando
job getper visualizzare i dettagli del lavoro, comprese le variabili d'ambiente. -
L'esempio seguente ripropone l'esecuzione del lavoro
myjobrun1e cancella la variabile d'ambienteenvC.ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name jobrun2resuba--env-rm envCEseguire il comando
jobrun getper visualizzare i dettagli dell'esecuzione del lavoro, comprese le variabili d'ambiente.ibmcloud ce jobrun get --name jobrun2resubaOutput di esempio
Getting jobrun 'jobrun2resuba'... Getting instances of jobrun 'jobrun2resuba'... Getting events of jobrun 'jobrun2resuba'... [...] Name: jobrun2resuba [...] Job Ref: myjob Environment Variables: Type Name Value Literal envB BB Image: icr.io/codeengine/codeengine [...] Instances: Name Running Status Restarts Age jobrun2resuba-0-0 0/1 Succeeded 0 21s
Cancellare le variabili d'ambiente per la propria funzione
Per rimuovere una variabile d'ambiente per la propria funzione, utilizzare l'opzione --env-rm con il comando function update del comando. L'esempio seguente aggiorna la funzione myfunction per eliminare la variabile d'ambiente envA.
ibmcloud ce function update --name myfunction --env-rm envA