Skip to content
Latchkey

O Que É Entrega Contínua?

Entrega contínua é a prática de manter seu software em um estado sempre pronto para release, de forma que qualquer build aprovado poderia ir para produção com uma única decisão.

A entrega contínua estende a integração contínua para além da fase de testes. Onde a CI garante que o código faz build e passa nos testes, a entrega contínua garante que o resultado esteja empacotado e pronto para deploy a qualquer momento. O ato de fazer release torna-se uma decisão de negócio, não uma correria de engenharia.

O que "sempre pronto para release" significa

Toda mudança que passa pelo pipeline é automaticamente transformada em um artifact pronto para deploy e promovida por ambientes como o staging. O artifact fica pronto; um humano (ou um agendamento) decide quando apertar o botão final para produção. Nada sobre o deploy exige montagem manual de última hora.

Entrega versus deployment

A entrega contínua mantém o deployment de produção como uma etapa deliberada e com portão. O deployment contínuo remove esse portão, enviando cada mudança aprovada automaticamente. A entrega é "pronto para enviar sob demanda"; o deployment é "envia-se sozinho". Muitas equipes praticam a entrega primeiro e adotam o deployment depois, à medida que a confiança cresce.

Um exemplo

Uma equipe faz merge de várias funcionalidades ao longo de uma semana. Cada uma é automaticamente deployada no staging e verificada. Na quinta-feira o product owner decide fazer o release; como toda mudança já está empacotada e testada, o deploy de produção é uma única aprovação que leva minutos, não um evento de release de várias horas.

Por que reduz risco

Como artifacts prontos para release são produzidos continuamente, os releases permanecem pequenos e frequentes. Releases pequenos são mais fáceis de testar, mais fáceis de raciocinar e mais fáceis de reverter. O próprio processo de release é exercitado constantemente, então ele é confiável quando importa.

O que ela requer

  • Uma base de CI confiável com testes dignos de confiança.
  • Deployment automatizado para pelo menos um ambiente de pré-produção.
  • Artifacts de build versionados e reproduzíveis.
  • Um caminho de promoção claro e rápido para produção.

Principais conclusões

  • A entrega contínua mantém o software sempre pronto para release.
  • O deploy de produção permanece uma decisão deliberada e com portão.
  • Ela torna os releases pequenos, frequentes e de baixo risco.

Guias relacionados