Usar a integração contínua
A CI (integração contínua) é o processo de criação e teste de código automaticamente sempre que um membro da equipe confirma alterações de código no controle de versão. Uma confirmação de código para o branch principal ou tronco de um repositório compartilhado dispara o sistema de build automatizado para compilar, testar e validar o branch completo. A CI incentiva os desenvolvedores a compartilharem seus testes de código e unidade mesclando suas alterações no repositório de controle de versão compartilhada sempre que concluirem uma tarefa.
Os desenvolvedores de software geralmente trabalham isoladamente e, em seguida, precisam integrar suas alterações com o restante da base de código de uma equipe. Dias ou semanas de espera para integrar o código podem criar muitos conflitos de mesclagem, difícil de corrigir bugs, estratégias de código divergentes e esforços duplicados. A CI evita esses problemas porque exige que o código da equipe de desenvolvimento se mescle continuamente ao branch de controle de versão compartilhada.
A CI mantém o branch principal atualizado. Os desenvolvedores podem usar sistemas de controle de versão modernos, como o Git, para isolar seu trabalho em branches de recursos de curta duração. Quando o recurso é concluído, o desenvolvedor envia uma solicitação de pull do branch de recursos para o branch principal. Após a aprovação da solicitação de pull, as alterações se mesclam no branch principal e o branch de recursos pode ser excluído.
As equipes de desenvolvimento repetem esse processo para cada item de trabalho. O Teams pode estabelecer políticas de branch para garantir que o branch principal mantenha os critérios de qualidade desejados.
As definições de build especificam que cada confirmação no branch principal dispara o processo automatizado de build e teste. Testes automatizados verificam se cada build mantém uma qualidade consistente. A CI captura bugs no início do ciclo de desenvolvimento, tornando-os menos caros de corrigir.
A CI é um recurso padrão em plataformas modernas do DevOps. Os usuários do GitHub podem implementar a CI por meio de GitHub Actions. Os usuários do Azure DevOps podem usar o Azure Pipelines.