

# OPS05-BP04 Usar sistemas de gerenciamento de compilação e de implantação
<a name="ops_dev_integ_build_mgmt_sys"></a>

 Use sistemas de gerenciamento de compilação e implantação. Esses sistemas reduzem os erros causados pelos processos manuais e o nível de esforço para implantar as alterações. 

 Na AWS, é possível criar pipelines de integração contínua/implantação contínua (CI/CD) usando serviços como as [Ferramentas de desenvolvedor da AWS](https://aws.amazon.com/products/developer-tools/) (por exemplo, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/) e [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)). 

 **Resultado desejado:** seus sistemas de gerenciamento de compilação e implantação oferecem suporte ao sistema de integração contínua (CI/CD) de sua organização, que fornece recursos para automatizar implementações seguras com as configurações corretas. 

 **Práticas comuns que devem ser evitadas:** 
+  Depois de compilar o código no sistema de desenvolvimento e copiar o executável nos sistemas de produção, há uma falha na inicialização. Os arquivos de log locais indicam que a falha ocorreu devido à ausência de dependências. 
+  Você cria a aplicação com êxito com os novos recursos em seu ambiente de desenvolvimento e fornece o código à garantia de qualidade (QA). Ele falha no QA porque não há ativos estáticos. 
+  Na sexta-feira, após muito esforço, você consegue criar a aplicação manualmente em seu ambiente de desenvolvimento, incluindo os recursos recém-codificados. Na segunda-feira, você não consegue repetir as etapas que permitiram criar a aplicação com êxito. 
+  Você executa os testes que criou para a nova versão. Então você passa a próxima semana configurando um ambiente de teste e executando todos os testes de integração existentes, seguidos pelos testes de performance. O novo código tem um impacto inaceitável na performance e deve ser desenvolvido e testado novamente. 

 **Benefícios de implementar esta prática recomendada:** ao fornecer mecanismos para gerenciar atividades de criação e implantação, você reduz o nível de esforço para executar tarefas repetitivas, libera os membros da equipe para se concentrarem em tarefas criativas de alto valor e limita o surgimento de erros provenientes de procedimentos manuais. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Médio 

## Orientação para implementação
<a name="implementation-guidance"></a>

 Os sistemas de gerenciamento de compilação e implantação são usados para rastrear e implementar mudanças, reduzir erros causados por processos manuais e reduzir o nível de esforço necessário para implantações seguras. Automatize totalmente o pipeline de integração e implantação desde o check-in do código até a compilação, o teste, a implantação e a validação. Isso reduz o tempo de espera, diminui os custos, incentiva o aumento da frequência de mudanças, reduz o nível de esforço e aumenta a colaboração. 

### Etapas de implementação
<a name="implementation-steps"></a>

![\[Diagrama que mostra um pipeline de CI/CD usando o AWS CodePipeline e serviços relacionados\]](http://docs.aws.amazon.com/pt_br/wellarchitected/latest/operational-excellence-pillar/images/deployment-pipeline-tooling.png)


 

1.  Use um sistema de controle de versão para armazenar e gerenciar ativos (como documentos, código-fonte e arquivos binários). 

1.  Use o CodeBuild para compilar código-fonte, executar testes de unidade e produzir artefatos prontos para implantação. 

1.  Use o CodeDeploy como um serviço de implantação que automatiza implantações de aplicações em instâncias do [Amazon EC2](https://aws.amazon.com/ec2/), instâncias on-premises, [funções AWS Lambda com tecnologia sem servidor](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ou [Amazon ECS](https://aws.amazon.com/ecs/). 

1.  Monitore suas implantações. 

## Recursos
<a name="resources"></a>

 **Práticas recomendadas relacionadas:** 
+  [OPS06-BP04 Automatizar os testes e a reversão](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **Documentos relacionados:** 
+  [Ferramentas de desenvolvedor AWS](https://aws.amazon.com/products/developer-tools/) 
+  [O que é AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+  [O que é AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Vídeos relacionados:** 
+ [AWS re:Invent 2022: Práticas recomendadas do AWS Well-Architected para DevOps na AWS](https://youtu.be/hfXokRAyorA)