Se eu entendi corretamente, o intuito da integração contínua é resolver o problema de serem feitas poucas integrações na base durante um ciclo de desenvolvimento, logo, a atualização dessa base se torna um evento importante e até arriscado pois há muitas alterações para 'empurrar' para a base no fim do ciclo.
Agora colocando num contexto, digamos que exista um projeto com ambientes, são eles: DEV, QA e PROD.
- A base usada é sempre a de DEV no início do ciclo.
- Os desenvolvedores pegam tarefas, implementam, corrigem, e jogam as alterações para QA.
- O QA testa, retornar, testa denovo, até a aprovação final.
- No fim do ciclo as alterações que estão em QA atualizam o ambiente de DEV.
- Finalmente as alterações de QA podem ir pra PROD, digamos a cada 4 ciclos.
Dúvidas:
- A integração contínua é pra sanar o problema de poucas integrações na base (DEV)?
- A entrega contínua seria subir essas alterações integradas para um repositório automaticamente, por exemplo subir para QA?
- E automatizar o passo de após os testes subir de QA para PROD de forma recorrente, seria a IMPLANTAÇÃO CONTÍNUA?