A integração contínua (CI) é uma prática de desenvolvimento de software em que os desenvolvedores com frequência mesclam as alterações de código em um repositório central. Depois disso, as versões e os testes automatizados são executados.
É possível configurar um sistema de CI básico para evitar novas mudanças que corrompiam o build após a mesclagem. É possível programar um sistema de CI mais avançado para testar automaticamente o app e garantir que ele se comporte conforme o esperado em diferentes ambientes, como níveis de API, tamanhos de tela e plataformas.
Este documento demonstra estratégias comuns que os desenvolvedores usam para configurar sistemas de CI eficazes para projetos Android. Essas diretrizes são genéricas e se aplicam à maioria das soluções.
Exemplo típico
Um sistema de CI típico segue um fluxo de trabalho ou pipeline, que pode ter esta aparência:
- O sistema de CI detecta uma mudança no código, geralmente quando um desenvolvedor cria uma solicitação de envio, também chamada de "lista de alterações" ou "solicitação de combinação".
- Ele provisiona e inicializa um servidor para executar o fluxo de trabalho.
- Ela busca o código, bem como ferramentas, como o SDK do Android ou imagens do emulador, se necessário.
- Ele cria o projeto executando um determinado comando, por exemplo, .
/gradlew build
. - Ele executa os testes locais com um determinado comando, por exemplo, executando
.
/gradlew test
. - Ela inicia os emuladores e executa os testes instrumentados.
- Ele faz upload de artefatos como resultados de testes e APKs.
Benefícios da CI
As vantagens da CI incluem:
- Melhoria na qualidade do software: a CI pode ajudar a melhorar a qualidade do software, identificando e corrigindo problemas logo no início. Isso pode ajudar a reduzir o número de bugs nas versões de software e melhorar a experiência geral do usuário.
- Risco reduzido de builds corrompidos: ao automatizar o processo de build com CI, é possível evitar builds corrompidos resolvendo problemas mais cedo no processo.
- Maior confiança nas versões: a CI pode ajudar a garantir que cada versão seja estável e pronta para produção. Ao executar testes automatizados, a CI pode identificar possíveis problemas antes de liberá-los para o público.
- Melhoria na comunicação e colaboração: ao fornecer um lugar central para os desenvolvedores compartilharem códigos e resultados de testes, a CI pode ajudar a facilitar a colaboração entre desenvolvedores e outros membros da equipe e o monitoramento do progresso.
- Aumento na produtividade: a CI pode ajudar a aumentar a produtividade do desenvolvedor ao automatizar tarefas que, de outra forma, seriam demoradas e propensas a erros.
Leia mais
Para mais informações sobre como você pode usar a integração constante para melhorar o desenvolvimento do seu app, leia as seguintes páginas: