Por Rafael M. Pestano
“Um conjunto de práticas e princípios com o objetivo de construir, testar e entregar software mais rápido e com mais frequencia.“
“Uma maneira de entregar software que reduz custos, tempo e os riscos ao entregar pequenas mudanças para o usuário.“
É estar pronto para entregar software a qualquer momento
“Entrega de valor e entrega contínua“- Manifesto Ágil
Reduzir o risco de uma entrega
Criar um processo bem definido de release
Tornar o processo de entrega menos doloroso e com menos surpresas
Cada commit gera um release candidate
“The longer you delay, the worse(exponentially) the problem becomes“ [Neal Ford - Director at ThoughtWork]
Automatize tudo que pode ser automatizado
Testes automatizados são essenciais
Feedback rápido e contínuo
Melhoria contínua
Colaboração, todo mundo é responsável pela release
Quantos builds falharam?
Em qual etapa falhou?
Quanto tempo para colocar uma versão em produção?
Integração contínua
“Works on my machine“
Testes automatizados
Agile???
Processo automatizado do seu build, deploy, testes e release.
Pode se dizer que é a instanciação do continous delivery
Continuous integration -> Continuous delivery -> Continuous deployment