9 de Abril de 2025
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
Founder & Engineer
4 min Intermediario Sistemas
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:
- código muda
- validações rodam
- artefato reproduzivel e gerado
- configuração e ambiente entram na conta
- liberação acontece
- 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:
- desenvolvedor faz commit
- CI roda checks e testes
- build gera imagem versionada
- imagem vai para registry
- ambiente de produção recebe essa imagem com configuração própria
- deploy libera a nova versão
- 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
- Do commit até produção existe uma cadeia de controle de risco, não só uma automação de comandos.
- Build, teste, artefato, configuração e liberação sao etapas diferentes e cada uma protege contra um tipo de erro.
- Pipeline boa ajuda a detectar problema cedo, reproduzir o que foi liberado e reduzir surpresa na hora do deploy.
- Entender esse fluxo ajuda mais em entrevista e em incidente do que decorar nome de ferramenta.
Checklist de pratica
Use isto ao responder
- Consigo explicar a diferença entre validar código, gerar artefato e liberar para ambiente?
- Sei dizer por que configuração e secret não deveriam ficar acopladas ao build?
- Consigo descrever onde rollback, observabilidade e aprovacao entram no fluxo?
- Sei falar do pipeline como mecanismo de redução de risco, não só de velocidade?
Você concluiu este artigo
Parte da trilha: Trilha para entrevistas de startup engineer (6/11)
Próximo passo
Rollback e mitigação de incidentes Próximo passo →Compartilhar esta página
Copie o link manualmente no campo abaixo.