Skip to content
Latchkey

O Que É uma Variável de Ambiente no CI?

Uma variável de ambiente no CI é um valor nomeado disponibilizado aos processos do seu job - usado para configurar o comportamento sem deixá-lo fixo no código.

Builds e scripts leem configuração do ambiente: qual registry usar, qual modo de build, feature flags. O CI permite definir essas variáveis em vários níveis para que o mesmo workflow se comporte corretamente entre branches, environments e células de matrix.

Como elas são definidas

Você pode definir variáveis no nível do workflow, do job ou do step, e lê-las em scripts como $NAME. Valores de matrix e outputs computados costumam fluir como variáveis de ambiente também.

Um pequeno exemplo

Definir env: NODE_ENV: production no nível do job faz com que todo step desse job faça build em modo de produção. Um único step pode sobrescrever isso com seu próprio bloco env: para um build de teste pontual.

Variáveis vs secrets

Variáveis de ambiente simples não são sensíveis e aparecem nos logs. Secrets são criptografados e mascarados. Configuração como um modo de build é uma variável; um token é um secret - não coloque credenciais em variáveis simples.

Precedência e escopo

  • Valores no nível do step sobrescrevem os do nível do job, que sobrescrevem os do nível do workflow.
  • Variáveis são escopadas à execução que as define - elas não persistem.
  • Algumas plataformas têm "variables" de org ou repo para config compartilhada não secreta.

Passando valores entre steps

Uma variável definida com um export simples em um step não sobrevive ao próximo step, que executa um shell novo. Para persistir um valor, grave-o no arquivo de ambiente da plataforma (por exemplo, adicionando a $GITHUB_ENV).

Principais conclusões

  • Uma variável de ambiente configura os processos de um job pelo nome.
  • Variáveis são para config não sensível; secrets são para credenciais.
  • Escopos mais restritos sobrescrevem os mais amplos, e os valores não persistem por padrão.

Guias relacionados