mauricio-matsuda

20/07/2024

Do código à produção: implementando CI/CD para eficiência e qualidade

A tecnologia é fator essencial à produtividade e ao crescimento das empresas, e neste caminho estão os responsáveis pelas áreas de TI que sofrem uma permanente pressão por inovação e entregas por parte dos gestores, pressão que tradicionalmente estava reservada às vendas, à área comercial, com as suas metas e planilhas.

Nestes últimos meses o debate entre especialistas – e mesmo para o público em geral – tem se concentrado na Inteligência Artificial Regenerativa e suas aplicações no dia a dia das pessoas comuns, e a sua acelerada adoção por empresas de todos os segmentos da economia mostra a propriedade desta tecnologia.

Mas, IA ou GenIA não cai magicamente nas linhas de produção, é necessário a preparação das empresas para o seu êxito. Práticas mandatórias nas melhores organizações têm sido a Integração Contínua (CI) e a Entrega Contínua (CD), consideradas como bases sólidas para garantir eficiência e qualidade, e por este motivo mesmo, adotadas por inúmeras empresas. Mas, estes conceitos, muitas vezes considerados em conjunto como uma única prática, na verdade representam diferentes estágios do desenvolvimento e embarque de tecnologia.

A Integração refere-se a soluções que permitam a combinação/absorção das alterações feitas pelos desenvolvedores ao longo do tempo. Ao utilizar uma ferramenta de controle de versão, procura-se garantir a integração do código-fonte de uma solução a cada etapa. “Entrega” refere-se à implantação dessa solução. Quando se adiciona o termo “contínuo”, então trata-se da automação dessas atividades, incluindo a parte de teste. Nada de novo para quem atua na área, mas algo que pode ser de mais difícil absorção por gestores de outras áreas.

Na prática, a Integração Contínua (CI) e a Entrega Contínua (CD) são aplicações essenciais ao desenvolvimento de software e que melhoram a qualidade do código, a eficiência do processo de desenvolvimento e a capacidade de implantação de software.

A implementação de CI/CD pode variar de acordo com a tecnologia, as necessidades do projeto e a infraestrutura do time e de sua integração com equipes externas. Mas, de forma geral, existem algumas etapas que podem ser consideradas padrão na implementação de um fluxo de CI/CD.

Entre os mais relevantes menciono: A) o Versionamento de Código, o processo de criar novas versões de um código a cada mudança significativa nele. Considerando que projetos são implementados por etapas, é preciso versões que possam ser retomadas sempre que necessário; e B) adoção de Testes Automatizados que verifiquem a funcionalidade e a integridade do código. Os testes devem ser executados automaticamente no ambiente de integração.

Outras práticas são a adoção de pipelines de integração que incluem a construção do código e a execução dos testes e a verificação de qualidade de código, e os pipelines de entrega, incluindo build e deploy do código nos ambientes de homologação e produção.

Os passos seguintes seriam a configuração de um ambiente de entrega contínua (CD) que automatize a construção, teste e implantação em um ambiente de produção, o desenvolvimento de ferramentas de monitoramento e registro para acompanhar a saúde do aplicativo após a implantação e, finalmente, processos de feedback para permitir também a melhoria contínua.

Iniciamos essa conversa falando sobre a essencialidade da tecnologia e a responsabilidade dos profissionais de TI para colocar tudo em prática com eficiência muitas vezes debaixo de pressão, contudo mesmo em organizações com bastante tecnologia já embarcada em seus processos produtivos é possível ter problemas na implantação destas ferramentas, que claramente são necessárias, mas também bastante complexas.

Nesse contexto, o modelo em questão revela-se profundamente dependente da colaboração com equipes externas. A integração com parceiros torna-se essencial para o sucesso desse processo. Afinal, a seleção criteriosa de quem está nas trincheiras com você é o que amplia a estratégia e fortalece a eficácia do modelo.


Por: Maurício Matsuda, Diretor de Operações e Customer Success na CBYK, possui uma trajetória profissional diversificada. Iniciou sua jornada como aprendiz de funileiro na GM aos 14 anos. Após formar-se como técnico em Processamento de Dados, Maurício encontrou seu lugar na área de Tecnologia da Informação (TI), em que acumula mais de 20 anos de experiência no setor. Desde 2021, Maurício atua como parte da gestão tecnológica e Customer Success na CBYK. Seu trabalho foi fundamental para triplicar o tamanho da operação, com mais de 350 colaboradores, atendendo a clientes em sete países.