Resumo das práticas recomendadas
Veja a seguir algumas práticas recomendadas sobre o que devemos e não devemos fazer com relação a CI/CD.
Faça:
-
Trate a infraestrutura como código
-
Use o controle de versão para o código da infraestrutura.
-
Faça uso de sistemas de rastreamento/emissão de tíquetes para bugs.
-
Peça aos colegas que analisem as alterações antes de aplicá-las.
-
Estabeleça padrões/projetos de código de infraestrutura.
-
Teste as alterações na infraestrutura, como alterações no código.
-
-
Coloque os desenvolvedores em equipes integradas de no máximo 12 membros autossustentáveis.
-
Faça com que todos os desenvolvedores confirmem o código no tronco principal com frequência, sem ramificações de recursos de longa duração.
-
Adote consistentemente um sistema de compilação como o Maven ou o Gradle em toda a organização e padronize as compilações.
-
Faça com que os desenvolvedores criem testes de unidade com 100% de cobertura da base de código.
-
Certifique-se de que os testes de unidade sejam 70% do teste geral em duração, número e escopo.
-
Certifique-se de que os testes de unidade estejam atualizados e não sejam negligenciados. As falhas no teste de unidade devem ser corrigidas, não ignoradas.
-
Trate sua configuração de entrega contínua como código.
-
Estabeleça controles de segurança baseados em função (ou seja, quem pode fazer o quê e quando).
-
Monitore/rastreie todos os recursos possíveis.
-
Alerte sobre serviços, disponibilidade e tempos de resposta.
-
Capture, aprenda e melhore.
-
Compartilhe o acesso com todos da equipe.
-
Planeje métricas e monitoramento para o ciclo de vida.
-
-
Mantenha e acompanhe as métricas padrão.
-
Número de compilações.
-
Número de implantações.
-
Tempo médio para as mudanças chegarem à produção.
-
Tempo médio desde o primeiro estágio do pipeline até cada estágio.
-
Número de mudanças chegando à produção.
-
Tempo médio de compilação.
-
-
Use vários pipelines distintos para cada ramificação e equipe.
Não faça:
-
Não tenha ramificações de longa duração com fusões grandes e complicadas.
-
Não faça testes manuais.
-
Não tenha processos de aprovação manual, portões, revisões de código e revisões de segurança.