Skip to content
Latchkey

O Que É o Ambiente de um Processo? Configurações Herdadas

O ambiente de um processo é a coleção de variáveis de ambiente que um programa carrega, herdadas do processo pai quando ele foi iniciado.

Todo processo roda dentro de um ambiente: um conjunto de variáveis nomeadas que recebeu quando foi lançado. Esse ambiente é como a configuração flui do shell para os programas que ele roda, e do shell de uma etapa de CI para as ferramentas que ela invoca. Entender a herança explica por que algumas variáveis são visíveis e outras não.

O que é o ambiente

O ambiente é uma lista de pares chave-valor anexada a um processo. Quando um processo inicia um filho, o filho recebe uma cópia. Essa semântica de snapshot significa que mudanças posteriores no pai não alcançam um filho já em execução.

Como a herança funciona

Um filho recebe uma cópia das variáveis exportadas do pai no momento do lançamento. As mudanças que o filho faz permanecem locais a ele. É por isso que uma variável definida dentro de um subprocesso não aparece de volta no shell que o lançou.

Inspecionando o ambiente

  • env ou printenv lista todas as variáveis de ambiente.
  • export sem argumentos mostra as variáveis de shell exportadas.
  • Um programa lê seu ambiente através da API da linguagem.

Exportadas versus locais

Apenas variáveis exportadas entram no ambiente passado aos filhos. Uma variável de shell comum é visível no shell atual mas não é herdada, o que é uma fonte frequente de confusão do tipo "por que a ferramenta não vê minha variável".

O ambiente em CI

CI constrói o ambiente de cada etapa a partir de variáveis da plataforma, suas variáveis configuradas e segredos. Como cada etapa é um processo novo, mudanças de ambiente não persistem automaticamente; você escreve em um arquivo especial para carregar valores para etapas posteriores.

Ambientes consistentes em runners gerenciados

Nos runners da Latchkey, cada etapa recebe um ambiente limpo e definido, então os builds são reproduzíveis. Para compartilhar um valor entre etapas, escreva-o no arquivo de ambiente da plataforma em vez de depender da herança, que só flui para baixo dentro de uma etapa.

Principais conclusões

  • O ambiente de um processo é o conjunto de variáveis herdadas do pai.
  • Filhos recebem uma cópia no lançamento; suas mudanças não fluem de volta para cima.
  • Em CI, cada etapa é um processo novo, então persista valores via o arquivo de env.

Guias relacionados