Resumo das práticas recomendadas - Prática de integração e entrega contínuas na AWS

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.