Pular para o conteudo principal

O que Acontece do Commit até Produção

Como enxergar o caminho completo entre escrever código, validar, gerar artefato, liberar e operar sem tratar deploy como botao magico.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

Trilha

Trilha para entrevistas de startup engineer

Etapa 6 / 11

O problema

Muita gente trabalha anos entregando software sem montar um modelo mental claro do que acontece depois do git push.

O resultado costuma ser uma visão meio mistica:

  • commit entra
  • pipeline roda
  • algum tempo depois “sobe”

Isso funciona enquanto nada sai errado.

Quando sai, a falta de modelo aparece:

  • não se sabe o que foi validado
  • não se sabe qual artefato foi produzido
  • não se sabe se o problema veio do build, da configuração ou do deploy

Deploy parece magia só até o primeiro problema serio.

Modelo mental

Do commit até produção, o fluxo mais útil de imaginar e este:

  1. código muda
  2. validações rodam
  3. artefato reproduzivel e gerado
  4. configuração e ambiente entram na conta
  5. liberação acontece
  6. o sistema e observado depois da liberação

Cada etapa responde uma pergunta diferente:

  • o código compila e passa nos checks?
  • o que exatamente eu vou liberar?
  • em qual ambiente isso vai rodar?
  • como eu libero sem espalhar dano?
  • como eu sei se deu certo?

Quebrando o problema

Commit não e deploy

Parece obvio, mas esse desacoplamento importa.

Commit representa mudança de código.

Deploy representa colocar uma versão para rodar num ambiente.

No meio disso existe um caminho que precisa reduzir incerteza.

Validação filtra erro cedo

Aqui entram coisas como:

  • typecheck
  • lint
  • testes
  • build

Essas etapas não garantem produção perfeita.

Mas ajudam a eliminar erro barato antes de ele ficar caro.

Artefato responde “o que eu vou rodar?”

Artefato pode ser:

  • bundle
  • imagem de container
  • pacote compilado

O ponto importante e que produção deveria rodar algo identificavel e reproduzivel.

Se cada ambiente recompila do seu jeito, você perde confiança sobre o que realmente foi liberado.

Configuração muda comportamento sem mudar artefato

Outro ponto que confunde muito:

  • build e uma coisa
  • configuração e outra

Mesma versão pode se comportar diferente por causa de:

  • env vars
  • secrets
  • flags
  • endpoints externos

Quando o time mistura tudo numa caixa preta, debug fica pior.

Liberação não e só copiar arquivo

A etapa de deploy pode envolver:

  • subir nova versão
  • trocar tráfego
  • rodar migração
  • aquecer instancia
  • liberar por percentual

Mesmo sem usar vocabulario sofisticado, a ideia principal e:

como eu coloco a mudança em produção com risco controlado?

Pos-deploy também faz parte do fluxo

Depois da liberação, o trabalho não terminou.

Você ainda precisa saber:

  • erro subiu?
  • latência piorou?
  • funcionalidade principal continua funcionando?
  • da para seguir ou precisa rollback?

Pipeline sem observabilidade no final e esteira que anda rápido para o lugar errado.

Exemplo simples

Imagine uma API Node em produção.

Fluxo enxuto:

  1. desenvolvedor faz commit
  2. CI roda checks e testes
  3. build gera imagem versionada
  4. imagem vai para registry
  5. ambiente de produção recebe essa imagem com configuração própria
  6. deploy libera a nova versão
  7. time observa logs, erro e latência

Se der problema, fica muito mais claro responder:

  • o código passou nos checks?
  • qual imagem foi liberada?
  • qual configuração estava ativa?
  • o erro começou antes ou depois do deploy?

Sem esse encadeamento, tudo vira “acho que foi no pipeline”.

Erros comuns

  • Tratar commit, build e deploy como uma coisa só.
  • Recompilar diferente em cada ambiente.
  • Acoplar secret ao artefato.
  • Liberar sem olhar sinal algum depois.
  • Chamar de CI/CD qualquer script sem clareza de papel.

Como um senior pensa

Quem tem mais experiência olha para pipeline menos como automação e mais como controle de risco.

O raciocínio costuma ser:

“Quero saber o que foi validado, o que foi gerado, o que foi liberado e como detectar rápido se a liberação piorou o sistema.”

Essa forma de pensar melhora entrega e melhora debug.

Porque faz o caminho inteiro ficar explicavel.

O que o entrevistador quer ver

Em entrevista, quando perguntam sobre deploy, o avaliador raramente quer nomes de ferramenta primeiro.

Ele quer ver se você enxerga o fluxo.

Você sobe de nivel quando:

  • separa commit, build, artefato e deploy
  • fala de configuração como camada própria
  • menciona liberação gradual ou rollback quando fizer sentido
  • trata observabilidade pos-deploy como parte do processo

Uma resposta forte costuma soar assim:

“Eu penso no caminho do commit até produção como uma cadeia de redução de risco. Primeiro valido, depois gero um artefato identificavel, depois libero com configuração do ambiente e observo o comportamento antes de considerar concluido.”

Pipeline boa não e a que roda mais passos. E a que deixa claro o que mudou, o que foi liberado e como voltar atras.

Resumo rápido

O que vale manter na cabeça

Checklist de pratica

Use isto ao responder

Você concluiu este artigo

Parte da trilha: Trilha para entrevistas de startup engineer (6/11)

Próximo artigo Como Falar de Pipeline e Release em Entrevista Artigo anterior Git rebase interativo na prática

Continue explorando

Artigos relacionados