IBM Cloud Docs
Trabalhando com variáveis de ambiente

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.
  1. 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.
  2. 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ção Resulting 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ção Resulting 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ção Resulting 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 secrete, 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ção Resulting 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ção Resulting 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.

  3. 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.

  4. 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.
  5. 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.

Tabela de 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.

  1. Criar um app que é denominado myapp, que usa a imagem icr.io/codeengine/codeengine. Este app hello-world inclui a variável de ambiente TARGET, imprime Hello ${TARGET} from Code Engine e imprime uma listagem de variáveis de ambiente. Se a variável de ambiente TARGET estiver vazia, Hello World from Code Engine será retornado.
  2. Acesse este app no console.
  3. 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 app myapp retorna uma resposta Hello World from Code Engine e imprime as variáveis de ambiente que estão incluídas neste app.
  4. Clique na guia Variáveis de ambiente.
  5. 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 de This 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 e key3=yellow. Criar uma variável de ambiente que referencie totalmente o configmap mycolorconfigmap, incluindo todos os seus pares chave-valor. Observe que a seção Resulting 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 e newsec3=mynewsecret3. Crie uma variável de ambiente que referencie a chave newsec2 do segredo mynewsecret. Observe que a seção Resulting 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.
  6. Clique em Salvar e criar para atualizar o app com as novas variáveis de ambiente.
  7. Quando seu app estiver no estado Ready, o app será atualizado com as suas variáveis de ambiente.
  8. 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

  1. 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.
  2. Na tabela de variáveis de ambiente, clique na variável de ambiente que deseja atualizar.
  3. 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.
  4. 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

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 comando app create ou app update. O exemplo a seguir cria o aplicativo myapp que usa a imagem icr.io/codeengine/codeengine e define as variáveis de ambiente envA e envB.

    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 comando app update. O exemplo a seguir atualiza o aplicativo myapp para sobrescrever o valor de envA e inclui a variável de ambiente envC.

    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 comando job create, job update, jobrun submit ou jobrun resubmit. O exemplo a seguir cria a tarefa myjob que usa a imagem icr.io/codeengine/codeengine e define a variável de ambiente envA.

    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 comando job update, jobrun submit ou jobrun 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 comando function create ou function update. O exemplo a seguir cria a função myfunction que usa o código-fonte https://github.com/IBM/CodeEngine e define a variável de ambiente envA

    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 comando function update comando. O exemplo a seguir atualiza a função myfunction para substituir o valor de envA e adiciona a variável de ambiente envC.

    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

  1. 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.
  2. Na tabela de variáveis de ambiente, exclua a variável de ambiente que você deseja remover do aplicativo, trabalho ou função.
  3. 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 ambiente envA.

    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 ambiente envC.

    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