DevPath · Aprenda a programar ESPTEN

Deploy, ambientes e segredos

Ambientes, configuração e segredos

Três ambientes, um mesmo código

O mesmo código é executado em vários ambientes:

O que muda entre ambientes não é o código: é a configuração (URL do banco de dados, chaves de API, nível de logs...).

Variáveis de ambiente e 12-factor

A metodologia 12-factor propõe, entre outras coisas, separar a configuração do código e lê-la do ambiente. No Node isso é process.env:

const config = {
  porta: process.env.PORT || 3000,
  bancoDados: process.env.DATABASE_URL,
  ambiente: process.env.NODE_ENV || "development",
};

Assim o mesmo artefato (a mesma build) roda em dev, staging e prod só mudando as variáveis. Nunca coloque valores de produção embutidos no código.

Gestão de segredos

As chaves e senhas são segredos. Regras de ouro:

# .env fica IGNORADO pelo Git; versiona-se só o exemplo sem valores reais
echo ".env" >> .gitignore
git add .env.example   # documenta QUAIS variáveis são necessárias, não seus valores

Feature flags

Uma feature flag é um interruptor que ativa ou desativa uma funcionalidade sem fazer um novo deploy. Serve para lançar para uma porcentagem de usuários, fazer testes A/B ou desligar na hora algo que está falhando.

if (featureAtiva(flags, "novo-checkout", usuario)) {
  mostrarNovoCheckout();
} else {
  mostrarCheckoutClassico();
}
Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
← Onde fazer o deployInfraestrutura como código →