

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# CI/CD ligado AWS
<a name="cicd-on-aws"></a>

O CI/CD pode ser descrito como um pipeline, em que o novo código é enviado em uma extremidade, testado em uma série de etapas (origem, construção, teste, preparação e produção) e, em seguida, publicado como código pronto para produção.

![\[Um diagrama que mostra um exemplo do pipeline de AWS código\]](http://docs.aws.amazon.com/pt_br/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g2.png)


*Visão geral do pipeline CICD*

Cada estágio do CI/CD pipeline é estruturado como uma unidade lógica no processo de entrega. Cada estágio funciona como um portão que examina um determinado aspecto do código. À medida que o código avança no pipeline, a suposição é que a qualidade do código seja maior nos estágios posteriores, porque mais aspectos dele continuam sendo verificados. Problemas descobertos em um estágio inicial impedem que o código progrida pelo pipeline. Os resultados dos testes são enviados imediatamente para a equipe, e todas as compilações e lançamentos adicionais são interrompidos se o software não passar do estágio.

AWS traz um conjunto completo de ferramentas para CI/CD desenvolvedores para acelerar os ciclos de desenvolvimento e lançamento de software. [AWS CodePipeline](https://aws.amazon.com/codepipeline/)automatiza as fases de criação, teste e implantação do processo de lançamento sempre que há uma alteração no código, com base no modelo de lançamento definido. Isso permite a entrega rápida e confiável de recursos e atualizações. 

Os pipelines de código podem se integrar a outros serviços. Podem ser AWS serviços, como o [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (Amazon S3), ou produtos de terceiros, como. GitHub AWS CodePipeline pode abordar uma variedade de casos de uso de desenvolvimento e operação, incluindo:
+ Compilando, criando e testando código com [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+ Entrega contínua de aplicativos baseados em contêineres para a nuvem
+ Validação pré-implantação de artefatos (como descritores e imagens de contêineres) necessários para serviços de rede ou funções específicas de rede nativa da nuvem
+ Testes funcionais, de integração e de desempenho para a função de function/virtual rede em contêineres (CNF/VNF), incluindo testes de linha de base e de regressão
+ Testes de confiabilidade e recuperação de desastres (DR).

![\[Um diagrama que descreve os componentes da tubulação AWS CICD\]](http://docs.aws.amazon.com/pt_br/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g3.png)


*AWS Componentes da tubulação CICD*

AWS pode configurar CI/CD pipelines usando as seguintes ferramentas para AWS desenvolvedores:
+ [AWS CodeCommit](https://aws.amazon.com/codecommit/)
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+ [AWS CodePipeline](https://aws.amazon.com/codepipeline/)
+ [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)
+ [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/)
+ [AWS CodeStar](https://aws.amazon.com/codestar/)

A criação do pipeline de CI/CD pode ser automatizada usando e. [AWS CDK[CloudFormation](https://aws.amazon.com/cloudformation/)](https://aws.amazon.com/cdk/) No domínio NFV, essa automação AWS nativa pode ser integrada a uma estrutura de gerenciamento e orquestração (MANO) e à estrutura de orquestração de serviços do CSP. 

O CI/CD processo inclui as seguintes etapas:
+ Configuração de rede — AWS CDK e CloudFormation inicie a criação dos pré-requisitos de rede:
+ Pilha de rede (VPC, sub-redes, gateway de conversão de endereços de rede (NAT), tabela de rotas e gateway de internet)
+ Implantação da infraestrutura — AWS CDK e CloudFormation inicie a criação das seguintes pilhas de recursos:
+ Pilha de computação (criação de clusters do [Amazon Elastic](https://aws.amazon.com/eks/) Kubernetes Service (Amazon EKS), nós do EKS Worker) [AWS Lambda](https://aws.amazon.com/lambda/)
+ Pilha de armazenamento (buckets do Amazon S3[, volumes do Amazon Elastic Block](https://aws.amazon.com/ebs) Store (Amazon EBS) e Amazon Elastic [File System (Amazon EFS](https://aws.amazon.com/efs/)) 
+ Pilha de monitoramento ([ CloudWatch](https://aws.amazon.com/cloudwatch/), [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/) (OpenSearch Service) 
+ Pilha de segurança [AWS Identity and Access Management](https://aws.amazon.com/iam/)(AWS IAM), grupos de segurança do [Amazon Elastic Compute Cloud](https://aws.amazon.com/ec2) (Amazon EC2), listas de controle de [acesso à rede](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) VPC () NACLs 
+ **Implantação do Cloud Network Function (CNF)** — Nesse estágio, o CNF é implantado em clusters EKS usando as ferramentas de gráficos [Kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) e Helm. [Esse estágio também implanta quaisquer aplicativos ou ferramentas específicos necessários CNFs para trabalhar com eficiência (como [Prometheus](https://prometheus.io/) ou Fluentd).](https://www.fluentd.org/) CNFs pode ser implantado por meio de funções Lambda ou com. AWS CodeBuild
+ Atualizações e implantação contínuas — Essa é uma sequência de etapas executadas iterativamente para implantar alterações que fazem parte das container/configuration mudanças que resultam em atualizações. [Semelhante ao caso de implantação do CNF, as atualizações e a implantação contínuas podem ser automatizadas usando AWS Serviços, com o gatilho do [AWS CodeCommit](https://aws.amazon.com/codecommit/)[Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) (Amazon ECR) ou de um sistema de origem terceirizado, como GitLab Webhooks.](https://docs.gitlab.com/ee/user/project/integrations/webhooks.html)

![\[Um diagrama que descreve o fluxo da tubulação AWS CICD.\]](http://docs.aws.amazon.com/pt_br/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g4.png)


*Diagrama de fluxo do pipeline do AWS CICD*

O CI/CD pipeline é construído usando [AWS CodePipeline](https://aws.amazon.com/codepipeline/)e utiliza um serviço de entrega contínua que modela, visualiza e automatiza as etapas necessárias para lançar o software. Ao definir estágios em um pipeline, você pode recuperar o código de um repositório de código-fonte, criar esse código-fonte em um artefato liberável, testar o artefato e implantá-lo na produção. Somente o código que passar por todos esses estágios com êxito será implantado. Opcionalmente, você pode adicionar outros requisitos ao seu pipeline, como aprovações manuais, para ajudar a garantir que somente as alterações aprovadas sejam implantadas na produção.