CI / CD (Continuous Integration / Continuous Delivery) é um metodologia de desenvolvimento de software que garante confiabilidade e rapidez na criação do produto. Pertence a uma das práticas típicas de DevOps.
Sua principal diferença é que o teste e a montagem do código são realizados automaticamente. Essa abordagem evita erros nos estágios iniciais e minimiza os riscos.
Princípios de funcionamento
CI (Integração Contínua) – integração contínua. Enquanto escrevem o código, os desenvolvedores constantemente fazem alterações que são carregadas no repositório. Para testes e verificações automáticas, são utilizados Serviços especializados, por exemplo, o Github, que cria scripts. Um log é mantido para cada etapa, que registra quaisquer alterações.
CD (Continuous Delivery) – entrega contínua. Responsável pela implantação automática do build em qualquer ambiente: ambiente de produção, teste ou desenvolvimento. Por exemplo, após editar o código, ele é automaticamente colocado na área de testes.
A metodologia é utilizada em empresas que costumam modificar o código durante o desenvolvimento, mas ao mesmo tempo lançam releases estáveis. Os desenvolvedores recebem um processo automático de teste e implantação de aplicativos, o que permite que eles se concentrem na melhoria contínua do software.
Etapas da metodologia
O ciclo CI/CD é convencionalmente dividido em 7 etapas:
- Criação. Os programadores escrevem uma determinada parte do código e a testam manualmente. Se o teste for bem sucedido, as partes são combinadas em um único código e transferidas para o ramo de trabalho de desenvolvimento.
- Montagem. Na segunda etapa, um software especial é usado para controlar a versão do produto, por exemplo, o Git. O programa inicia uma compilação automática com as alterações feitas e, em seguida, o código resultante é testado. Os critérios para conclusão bem-sucedida são configurados manualmente.
- Um teste manual. Após passar no autoteste no software, o produto é enviado para a equipe de teste para verificação. Eles verificam manualmente o código escrito e procuram por bugs.
- Lançamento. Após a conclusão bem-sucedida da terceira etapa, o código é liberado. Uma compilação funcional está sendo criada para atualizar o produto de software atual para a versão atual.
- Implantação. A atualização recebida é transmitida nos servidores oficiais do desenvolvedor para atualizar o software para a versão mais recente.
- Suporte e acompanhamento. Os programadores acompanham o feedback do consumidor e preparam uma lista de mudanças futuras.
- Planejamento. Na última etapa, é criada uma lista aprovada de alterações para as próximas versões. No final desta etapa, o ciclo de desenvolvimento termina e começa de novo.
Com esse princípio de operação, os usuários recebem uma versão totalmente funcional. Se eles encontrarem um erro ou bug, eles relatam para o suporte técnico.
A metodologia CI/CD reduz o tempo de desenvolvimento de software, identifica erros e falhas nos estágios iniciais da criação do código e reduz o tempo de recuperação no caso de um incidente.
As alterações são registradas, o que acelera o processo de rastreamento de erros e adição de novos recursos ao produto de software.