Trabalhando com variáveis de ambiente
Saiba como trabalhar com variáveis de ambiente (env variables
) em Code Engine. Você pode definir variáveis de ambiente como pares de valores-chave que podem ser usados pelo seu aplicativo, trabalho ou função.
Criando e atualizando variáveis de ambiente
Crie e gerencie variáveis de ambiente com o Code Engine.
Você pode definir variáveis de ambiente como valores literais ou fazer referência a um segredo ou configmap existente. O site Code Engine usa variáveis de ambiente para permitir que segredos ou configmaps sejam usados pelo seu trabalho, aplicativo ou função.
Criando variáveis de ambiente por meio do console
Crie e atualize variáveis de ambiente com o console do Code Engine.
É possível definir variáveis de ambiente ao criar ou atualizar seu app, tarefa ou função a partir do console.
Antes de Iniciar
- Você deve criar seu projeto e o projeto deve estar no status
active
. - Determine se deseja criar uma variável de ambiente literal ou criar uma variável de ambiente que referencie um segredo ou configmap existente. Se desejar que sua variável de ambiente referencie totalmente um segredo ou configmap existente ou referencie chaves individuais em um segredo ou configmap existente, o segredo ou configmap deverá existir. Consulte criar um segredo ou criar um configmap para definir seu segredo ou configmap antes de prosseguir.
-
Para abrir o diálogo para definir sua variável de ambiente na página Incluir variável de ambiente, conclua uma das opções a seguir.
- Se você estiver criando um app, na página Criar aplicativo, expanda a seção Variáveis de ambiente (opcional). É possível incluir uma ou mais variáveis de ambiente no app que você está criando. Clique em Incluir para abrir a página Incluir variável de ambiente.
- Se você estiver criando uma tarefa, na página Criar tarefa, expanda a seção Variáveis de ambiente (opcional). Clique em Incluir para abrir a página Incluir variável de ambiente.
- Se estiver criando uma função, na página Criar função, expanda a seção Variáveis de ambiente (opcional). Clique em Incluir para abrir a página Incluir variável de ambiente.
- Se estiver atualizando uma carga de trabalho existente para incluir variáveis de ambiente, acesse o app, a tarefa ou a função existente. Na guia Configuration (Configuração ), clique em Environment variables (Variáveis de ambiente ). Para apps, tarefas e funções, clique em Incluir variável de ambiente para abrir a página Incluir variável de ambiente.
-
Na página Incluir variável de ambiente, crie uma variável de ambiente de uma das maneiras a seguir,
- Para criar uma variável de ambiente literal, escolha
Literal value
, especifique o nome para a variável de ambiente literal, e forneça um valor. Observe que a seçãoResulting definition
exibe o nome da variável de ambiente e seu valor. - Para criar uma variável de ambiente que referencie totalmente um configmap, escolha
Reference full configmap
e, em seguida, selecione o configmap existente. Para este caso, todas as chaves do configmap selecionado são referenciadas como parte da variável de ambiente. Observe que a seçãoResulting definition
exibe o nome das chaves no configmap, mas não exibe os valores reais das chaves que são referenciadas dentro do configmap. - Para criar uma variável de ambiente que referencie uma chave individual de um configmap definido, escolha
Reference key in configmap
, selecione o configmap existente que você deseja e, em seguida, selecione a chave para referência como parte da variável de ambiente. Após selecionar a chave individual no configmap que deseja referenciar, observe que a seçãoResulting definition
exibe o nome da chave selecionada no configmap, mas não exibe o valor real da chave que é referenciada dentro do configmap. - Para criar uma variável de ambiente que referencie totalmente um segredo, escolha
Reference full secret
e, em seguida, selecione o segredo existente. Para este caso, todas as chaves do segredo selecionado são referenciadas como parte da variável de ambiente. Observe que a seçãoResulting definition
exibe o nome das chaves no segredo, mas não exibe os valores reais das chaves que são referenciadas dentro do segredo. - Para criar uma variável de ambiente que referencie uma chave individual de uma segredo definido, escolha
Reference key in secret
, selecione o segredo existente que você deseja e, em seguida, selecione a chave para referência como parte da variável de ambiente. Após selecionar a chave individual no segredo que deseja referenciar, observe que a seçãoResulting definition
exibe o nome da chave selecionada no segredo, mas não exibe o valor real da chave que é referenciada dentro do segredo.
No console, é possível referenciar apenas uma chave individual de um configmap ou segredo definido por variável de ambiente. Se for necessário referenciar mais de uma chave de um configmap ou segredo, então repita as etapas para definir outra variável de ambiente que referencie uma chave diferente.
- Para criar uma variável de ambiente literal, escolha
-
Clique em Pronto para salvar suas mudanças. Esta ação inclui sua variável de ambiente na tabela na guia Variáveis de ambiente. Para continuar incluindo variáveis de ambiente, clique em Incluir.
-
Conclua a criação ou atualização de seu aplicativo, trabalho ou função com a variável de ambiente definida.
- Se você estiver criando uma carga de trabalho, ao clicar em Criar, o app, a tarefa ou a função será implementado com suas variáveis de ambiente.
- Se estiver atualizando um aplicativo, trabalho ou função existente para adicionar uma variável de ambiente, clique em Salvar e implantar para atualizar o aplicativo ou clique em Salvar para atualizar o trabalho ou função com as novas variáveis de ambiente.
-
Quando seu app, tarefa ou função estiver no estado
Ready
, ele será atualizado com suas variáveis de ambiente.
A tabela a seguir descreve as informações sobre suas variáveis de ambiente.
Título | Descrição |
---|---|
Name |
O nome de sua variável de ambiente. |
Defined by |
Especifica se a variável de ambiente é do tipo literal , se a variável de ambiente é um configmap ou segredo totalmente referenciado ou se chaves específicas de um segredo ou configmap são referenciadas. |
Value or reference |
Exibe o valor literal, o configmap ou segredo totalmente referenciado ou as chaves referenciadas de um configmap ou segredo. |
Por exemplo, vamos criar um app e configurar variáveis de ambiente para o app.
- Criar um app que é denominado
myapp
, que usa a imagemicr.io/codeengine/codeengine
. Este apphello-world
inclui a variável de ambienteTARGET
, imprimeHello ${TARGET} from Code Engine
e imprime uma listagem de variáveis de ambiente. Se a variável de ambienteTARGET
estiver vazia,Hello World from Code Engine
será retornado. - Acesse este app no console.
- Quando o app estiver no estado
Ready
, é possível testar seu app. Clique em Testar aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar aplicativo. Para abrir o aplicativo em uma página da web, clique em URL do aplicativo. O appmyapp
retorna uma respostaHello World from Code Engine
e imprime as variáveis de ambiente que estão incluídas neste app. - Clique na guia Variáveis de ambiente.
- Crie as variáveis de ambiente a seguir.
- Clique em Incluir para abrir a página de variáveis de ambiente Incluir e crie uma variável de ambiente literal. Por exemplo, crie uma variável de ambiente literal com o nome
literalenvvar
e com o valor deThis is my literal
. Clique em Pronto para salvar suas mudanças. - Clique em Incluir para abrir a página de variáveis de ambiente Incluir e crie uma variável de ambiente que referencie totalmente um configmap. Para poder referenciar um configmap, ele deverá existir. Para este
exemplo, um configmap com o nome
mycolorconfigmap
existe e contém os pares chave-valor a seguir:key1=blue
,key2=green
ekey3=yellow
. Criar uma variável de ambiente que referencie totalmente o configmapmycolorconfigmap
, incluindo todos os seus pares chave-valor. Observe que a seçãoResulting definition
exibe o nome das chaves no configmap, mas não exibe os valores reais das chaves que são referenciadas dentro do configmap. Clique em Pronto para salvar suas mudanças. - Clique em Incluir para abrir a página de variáveis de ambiente Incluir e crie outra variável de ambiente que referencie uma chave individual de um segredo definido. Para poder referenciar um segredo, ele deverá
existir. Para este exemplo, um segredo com o nome
mynewsecret
existe e contém os pares chave-valor a seguir:newsec1=mynewsecret1
,newsec2=mynewsecret2
enewsec3=mynewsecret3
. Crie uma variável de ambiente que referencie a chavenewsec2
do segredomynewsecret
. Observe que a seçãoResulting definition
exibe o nome da chave selecionada no segredo, mas não exibe o valor real da chave que é referenciada dentro do segredo. Clique em Pronto para salvar suas mudanças.
- Clique em Incluir para abrir a página de variáveis de ambiente Incluir e crie uma variável de ambiente literal. Por exemplo, crie uma variável de ambiente literal com o nome
- Clique em Salvar e criar para atualizar o app com as novas variáveis de ambiente.
- Quando seu app estiver no estado
Ready
, o app será atualizado com as suas variáveis de ambiente. - Para testar o seu app, clique em Testar Aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar Aplicativo. Para abrir o aplicativo em uma página da web, clique em URL do aplicativo.
Com esta revisão de app, este app gera
Hello World from Code Engine
e a saída inclui os nomes das variáveis de ambiente, que foram incluídas nas etapas anteriores.
Quando você define variáveis de ambiente em sua carga de trabalho, essa ação adiciona uma nova variável de ambiente ou substitui uma variável de ambiente existente. Se você tiver uma variável de ambiente com o mesmo nome e especificar
um valor diferente da variável de ambiente definida anteriormente, a variável de ambiente atualizada substituirá o valor existente. Por exemplo, se você tiver uma variável de ambiente definida que é denominada envvar1
e seu valor for myenvar1
e definir outra variável de ambiente que também é denominada envvar1
e especificar seu valor como mynewenvvar1
, após salvar e implementar seu app atualizado ou salvar sua tarefa
atualizada, seu app ou tarefa em execução usará a variável de ambiente envvar1
com valor mynewenvvar1
.
Atualizando variáveis de ambiente por meio do console
- Para atualizar uma variável de ambiente existente, acesse o aplicativo, o trabalho ou a função que inclui a variável de ambiente que você deseja alterar e clique na guia Variáveis de ambiente para exibir a tabela de variáveis de ambiente.
- Na tabela de variáveis de ambiente, clique na variável de ambiente que deseja atualizar.
- Na página Editar variável de ambiente, faça sua atualização e clique em Pronto para salvar suas mudanças. Quando você edita sua variável de ambiente, é possível mudar o valor Defined by e seus campos obrigatórios correspondentes.
- Clique em Salvar e implementar para implementar seu aplicativo com suas mudanças ou clique em Salvar para executar sua tarefa com suas mudanças. Quando seu app ou tarefa estiver no estado
Ready
, o app ou a tarefa será atualizada com suas variáveis de ambiente.
Criando e atualizando variáveis de ambiente com a CLI
Crie e gerencie variáveis de ambiente com a CLI do Code Engine.
É possível definir variáveis de ambiente ao criar ou atualizar seu app, tarefa ou função com a CLI.
Quando você cria uma variável de ambiente com a CLI, é possível referenciar configmaps ou segredos ou criar uma variável de ambiente literal. Estas instruções descrevem a criação e a atualização de uma variável de ambiente literal com a CLI.
Para obter cenários detalhados sobre como referenciar segredos e configmaps integrais como variáveis de ambiente, substituir referências e remover referências na CLI, consulte Referenciando segredos e configmaps.
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Criar e trabalhar com um projeto.
Crie e atualize variáveis de ambiente para seu aplicativo
Crie e atualize variáveis de ambiente para seu app como segue,
-
Para criar e configurar uma variável de ambiente para seu app, use a opção
--env
com o comandoapp create
ouapp update
. O exemplo a seguir cria o aplicativomyapp
que usa a imagemicr.io/codeengine/codeengine
e define as variáveis de ambienteenvA
eenvB
.ibmcloud ce application create --name myapp --image icr.io/codeengine/codeengine --env envA=A --env envB=B
-
Para atualizar as variáveis de ambiente para um aplicativo existente, use a opção
--env
com o comandoapp update
. O exemplo a seguir atualiza o aplicativomyapp
para sobrescrever o valor deenvA
e inclui a variável de ambienteenvC
.ibmcloud ce application update --name myapp --env envA=AA --env envC=C
Crie e atualize variáveis de ambiente para sua tarefa
Configure e atualize as variáveis de ambiente para sua tarefa como segue,
-
Para criar e configurar uma variável de ambiente para sua tarefa, use a opção
--env
com o comandojob create
,job update
,jobrun submit
oujobrun resubmit
. O exemplo a seguir cria a tarefamyjob
que usa a imagemicr.io/codeengine/codeengine
e define a variável de ambienteenvA
.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --env envA=A
-
Para atualizar variáveis de ambiente para uma tarefa existente, use a opção
--env
com o comandojob update
,jobrun submit
oujobrun resubmit
.
Exemplo 1
O exemplo a seguir atualiza a tarefa myjob
para sobrescrever o valor de envA
e inclui a variável de ambiente envB
.
ibmcloud ce job update --name myjob --env envA=AA --env envB=B
Execute o comando job get
para exibir detalhes da tarefa, incluindo suas variáveis de ambiente.
ibmcloud ce job get --name myjob
Saída de exemplo
Getting job 'myjob'...
OK
Name: myjob
[...]
Environment Variables:
Type Name Value
Literal envA AA
Literal envB B
Image: icr.io/codeengine/codeengine
[...]
Exemplo 2
O exemplo a seguir executa a tarefa myjob
, sobrescreve o valor de envA
e incluir a variável de ambiente envD
para esta execução da tarefa.
ibmcloud ce jobrun submit --job myjob --name myjobrun1 --env envB=BB --env envC=C
Execute o comando jobrun get
para exibir detalhes da execução da tarefa, incluindo suas variáveis de ambiente.
ibmcloud ce jobrun get --name myjobrun1
Saída de exemplo
[...]
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
Criar e atualizar variáveis de ambiente para sua função
Defina e atualize as variáveis de ambiente para sua função da seguinte forma.
-
Para criar e configurar uma variável de ambiente para sua função, use a opção
--env
com o comandofunction create
oufunction update
. O exemplo a seguir cria a funçãomyfunction
que usa o código-fontehttps://github.com/IBM/CodeEngine
e define a variável de ambienteenvA
ibmcloud ce function create --name myfunction --runtime nodejs-20 --build-source https://github.com/IBM/CodeEngine --build-context-dir /helloworld-samples/function-nodejs --env envA=A
Exemplo de saída do comando
fn get
.Environment Variables: Type Name Value Literal envA A
-
Para atualizar as variáveis de ambiente de uma função existente, use a opção
--env
com o comandofunction update
comando. O exemplo a seguir atualiza a funçãomyfunction
para substituir o valor deenvA
e adiciona a variável de ambienteenvC
.ibmcloud ce fn update --name myfunction --env envA=AA --env envC=C
Exemplo de saída do comando
fn get
.Environment Variables: Type Name Value Literal envA AA Literal envC C
Considerações para atualizar cargas de trabalho com variáveis de ambiente
Considere as seguintes informações ao atualizar um aplicativo, trabalho ou função que tenha uma variável de ambiente que faça referência a configmaps ou segredos.
- Quando você atualiza um aplicativo, trabalho ou função que tem uma variável de ambiente que faz referência completa a um configmap (ou segredo) para fazer referência completa a um configmap (ou segredo) diferente, as referências completas substituem outras referências completas na ordem em que são definidas (o último conjunto referenciado substitui o primeiro conjunto).
- Quando você atualiza um aplicativo, trabalho ou função que tem uma variável de ambiente que faz referência a uma chave em um configmap (ou segredo) para fazer referência à mesma chave em um configmap (ou segredo) diferente, a última chave referenciada é usada.
- Quando você atualiza um aplicativo, um trabalho ou uma função que tem uma variável de ambiente que faz referência completa a um configmap (ou segredo) para adicionar uma referência a uma chave específica, a referência da chave específica substitui a referência completa do configmap (ou segredo).
Excluindo variáveis de ambiente
Quando uma variável de ambiente não é mais necessária, é possível excluí-la.
Excluindo variáveis de ambiente do console
- No console, acesse o aplicativo, o trabalho ou a função que tem a variável de ambiente que você deseja excluir. Clique na guia Variáveis de ambiente.
- Na tabela de variáveis de ambiente, exclua a variável de ambiente que você deseja remover do aplicativo, trabalho ou função.
- Clique em Save and deploy para atualizar o aplicativo ou clique em Save para atualizar seu trabalho ou função com as novas variáveis de ambiente. Quando seu app, tarefa ou função está no estado
Ready
, ele é atualizado com suas atuais variáveis de ambiente.
Excluindo variáveis de ambiente com a CLI
Quando você trabalha com variáveis de ambiente com a CLI, é possível referenciar configmaps ou segredos existentes ou trabalhar com variáveis de ambiente literais. Estas instruções descrevem a exclusão de uma variável de ambiente literal com a CLI.
Para obter cenários detalhados sobre a remoção de referências a segredos e configmaps integrais na CLI, consulte Referenciando segredos e configmaps.
Excluir variáveis de ambiente para seu app
Para remover uma variável de ambiente para seu app, use a opção --env-rm
com o comando app update
. O exemplo a seguir atualiza
o aplicativo myapp
para excluir a variável de ambiente envA
.
ibmcloud ce application update --name myapp --env-rm envA
Exclua as variáveis de ambiente da sua tarefa
Para remover uma variável de ambiente para sua tarefa, use a opção --env-rm
com o comando job update
ou jobrun resubmit
.
Use a opção --env-rm
com o comando job update
para remover variáveis de ambiente configuradas na tarefa. Use a opção --env-rm
com o comando jobrun resubmit
para remover variáveis de ambiente configuradas em uma execução da tarefa especificada.
-
O exemplo a seguir atualiza a tarefa
myjob
para excluir a variável de ambienteenvA
.ibmcloud ce job update --name myjob --env-rm envA
Use o comando
job get
para exibir detalhes da tarefa, incluindo suas variáveis de ambiente. -
O exemplo a seguir reenvia a execução da tarefa
myjobrun1
e exclui a variável de ambienteenvC
.ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name jobrun2resuba--env-rm envC
Execute o comando
jobrun get
para exibir detalhes da execução da tarefa, incluindo suas variáveis de ambiente.ibmcloud ce jobrun get --name jobrun2resuba
Saída de exemplo
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
Excluir variáveis de ambiente para sua função
Para remover uma variável de ambiente de sua função, use a opção --env-rm
com o comando function update
comando. O exemplo
a seguir atualiza a função myfunction
para excluir a variável de ambiente envA
.
ibmcloud ce function update --name myfunction --env-rm envA