Skip to content
Latchkey

O Que É uma Variável de Ambiente? Configuração no Shell

Uma variável de ambiente é um valor nomeado armazenado em um processo e herdado pelos programas que ele lança, usado para passar configuração sem codificá-la diretamente.

Variáveis de ambiente são como o shell e os programas que ele roda compartilham pequenos pedaços de configuração: onde encontrar coisas, em qual modo rodar ou quais credenciais usar. Um processo filho herda uma cópia do ambiente de seu pai, que é exatamente como a CI passa configurações e secrets para seus build steps.

O que é uma variável de ambiente

É um par chave-valor anexado a um processo. Quando esse processo inicia um filho, o filho recebe uma cópia. O exemplo clássico é o PATH, mas as aplicações leem muitas das suas próprias, como NODE_ENV ou CI.

Definindo e lendo

No Bash você define uma com export NAME=value e a lê com $NAME ou "${NAME}". Sem export, a variável permanece uma variável de shell e não é passada aos programas filhos.

Usos comuns

  • Configuração: feature flags, níveis de log, ambientes de destino.
  • Descoberta: PATH, HOME e localizações similares.
  • Secrets: tokens de API e credenciais injetados em runtime.
  • Sinais de CI: a variável CI=true que muitas ferramentas checam.

Variáveis de ambiente vs variáveis de shell

Uma variável de shell simples vive apenas no shell atual. Uma variável de ambiente (uma que você exportou) é herdada por processos filhos. Essa distinção explica por que um valor definido em um lugar às vezes é invisível para um programa que você lança.

Env vars em CI

Plataformas de CI injetam variáveis de ambiente para configuração e secrets. No GitHub Actions você define valores por step inline, ou escreve no arquivo $GITHUB_ENV para compartilhar um valor com steps posteriores, já que cada step roda em seu próprio shell.

Secrets e runners gerenciados

Nos runners Latchkey, os secrets são entregues como variáveis de ambiente mascaradas, então ficam disponíveis para seu job mas redigidos dos logs. Trate qualquer variável que carregue secret com cuidado e evite ecoá-la.

Principais conclusões

  • Uma variável de ambiente é um valor nomeado que um processo passa para seus filhos.
  • Você precisa usar export em uma variável para os programas filhos a enxergarem.
  • A CI usa variáveis de ambiente para injetar config e secrets nos build steps.

Guias relacionados