DEV Community

Cover image for CI/CD – Conheça Tudo a Respeito
Lidia Goncalves
Lidia Goncalves

Posted on

CI/CD – Conheça Tudo a Respeito

CI/CD: Uma definição
Para quem não é familiar com o termo, é bom entender que o CI/CD é encarado no mundo do desenvolvimento como um pipeline. O objetivo é alcançar a entrega contínua através de um alto nível de automação, com monitoramento constante da etapa de desenvolvimento.

Continuous Integration — Integração Contínua

Primeira parte deste pipeline é o processo de Integração Contínua. Ou seja, toda vez que um desenvolvedor envia um código novo (como pequenas alterações) para a aplicação, ela automaticamente compila e testa a solução — quantas vezes forem necessárias, independentemente da plataforma ou linguagem.

Com o tipo de desenvolvimento atual, na qual variadas plataformas e ferramentas são necessárias, essa prática é uma verdadeira “mão na roda”.

Afinal, se encarrega de integrar e validar as alterações automaticamente, sem necessidade da ação manual e individualizada.

Com isso, sua empresa consolida os processos de criação, compilamento e teste de aplicações. Essa flexibilidade permite uma maior liberdade e colaboração na hora de melhorar o código, o que aumenta a qualidade final da solução.

Continuous Delivery – Entrega Contínua

O processo de entrega contínua começa justamente onde integração contínua acaba.

Ou seja, o CD se encarrega de automatizar a entrega de aplicativos para ambientes de infraestrutura selecionados. Em outras palavras, uma vez que o novo código seja validado nos testes de integração, o CD automatiza o seu envio ao repositório certo.

Isso é particularmente necessário, pois no desenvolvimento de um aplicativo, é comum que as equipes trabalhem com vários ambientes e camadas diferentes (como teste, desenvolvimento etc.).

Dessa forma, você tem uma base de códigos preparada para implantação em qualquer ambiente produtivo.

O processo de CD garante que as alterações de código cheguem ao lugar certo.

Portanto…

Para juntar as peças: a integração contínua é o processo por trás da automação de testes e validação de alterações no código. Já a entrega contínua é o processo de automação de entrega dessas alterações na infraestrutura do código, entre outros processos adicionais.

Como funciona o processo de CI/CD?
Em questões práticas, são várias ferramentas utilizadas para automatizar o CI/CD. Tudo depende do seu escopo de trabalho.

Entre as principais, destacam-se Jenkins, AWS CodeBuild e Azure DevOps, que automatizam as etapas necessárias e fornecem os dados para monitoramento contínuo.

A ferramenta ainda pode reportar falhas no processo de entrega em tempo real, possibilitando a rápida tomada de decisão por parte dos desenvolvedores.

Além disso, é comum encontrar equipes operando o pipeline CI/CD em arquiteturas serverless, como ambientes na nuvem. Com isso, utilizam tecnologia de containers e sistemas de orquestração, como o Kubernetes.

Como medir os impactos do CI/CD?
Como na maioria das metodologias modernas, é possível medir a eficiência de suas aplicações por meio de KPI’s — os indicadores-chave de desempenho dos DevOps.

Entre os principais, destacam-se:

Frequência de implantação;
Prazo de entrega da alteração;
Tempo médio de recuperação (MTTR) de um incidente.
É comum observar mudanças significativas nos dados referentes a esses indicadores em uma empresa que implementa o CI/CD em sua cultura de desenvolvimento.

O CI/CD é perfeito para empresas que buscam alinhar o processo de desenvolvimento. Através dele e de suas ferramentas, é possível enviar alterações de forma contínua a aplicativos que necessitam de estabilidade, sem comprometer a sua performance.

Ou seja, para os desenvolvedores, significa maior flexibilidade e liberdade para agir nas alterações necessárias.

E para o time de operação, a aplicação continua estável pois os ambientes possuem configurações padronizadas e variáveis separadas. Além disso, há testes contínuos no processo de entrega e procedimentos de reversão são automatizados pela plataforma.

Em outras palavras, as equipes podem focar na melhoria das aplicações, enquanto os próprios softwares de CD/CI se encarregam de detalhes técnicos do sistema.

Dessa forma, o CI/CD possibilita que sua empresa melhore suas próprias aplicações e soluções em geral, enquanto também otimiza o processo de entrega.

Portanto, não há dúvidas que a integração do CI/CD com a cultura DevOps pode trazer incontáveis benefícios ao seu negócio.

Com a colaboração de ambas as equipes (desenvolvimento e operações) em questões tecnológicas, práticas e estratégicas, é possível alinhar o seu processo criativo às práticas modernas. Com o apoio de recursos de automação, as equipes focam no que realmente importa: as necessidades do cliente.

No dia a dia corporativo, isso se traduz em um trabalho de melhor qualidade e entregas confiáveis, o que promove o crescimento da empresa.

Top comments (0)