

# 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 [Ferramentas de desenvolvedor da AWS](https://aws.amazon.com/products/developer-tools/) (por exemplo, AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), o [AWS CodePipeline](https://aws.amazon.com/codepipeline/), o [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)e o [AWS CodeStar](https://aws.amazon.com/codestar/)). 

 **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. 

 **Antipadrões comuns:** 
+  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 estabelecer 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 da implementação
<a name="implementation-steps"></a>

![\[Diagrama mostrando um pipeline de CI/CD usando o AWS CodePipeline e serviços relacionados\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2023-10-03/framework/images/deployment-pipeline-tooling.png)


 

1.  Use o AWS CodeCommit para controlar versões, armazenar e gerenciar ativos (como documentos, código-fonte e arquivos binários). 

1.  Use o CodeBuild para compilar seu código-fonte, executar testes de unidade e produzir artefatos prontos para serem implantados. 

1.  Use CodeDeploy como serviço de implantação que automatiza as implantações de aplicações para [Amazon EC2](https://aws.amazon.com/ec2/) instâncias, instâncias on-premises, [funções do AWS Lambda 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 da AWS](https://aws.amazon.com/products/developer-tools/) 
+ [ O que é o AWS CodeCommit? ](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html)
+  [O que é o AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+  [O que é o AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

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