

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

El CI/CD puede imaginarse como un proceso en el que el código nuevo se envía por un extremo, se prueba en una serie de etapas (fuente, compilación, prueba, puesta en escena y producción) y, a continuación, se publica como código listo para la producción.

![\[Un diagrama que muestra un ejemplo de la canalización del código AWS\]](http://docs.aws.amazon.com/es_es/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g2.png)


*Descripción general de la canalización de CICD*

Cada etapa de la CI/CD canalización está estructurada como una unidad lógica en el proceso de entrega. Cada etapa actúa como una puerta que controla un aspecto determinado del código. A medida que el código avanza en el proceso, se supone que la calidad del código es mayor en las etapas posteriores, ya que se siguen verificando más aspectos del mismo. Los problemas que se descubren en una fase temprana impiden que el código avance en el proceso. Los resultados de las pruebas se envían inmediatamente al equipo y, si el software no pasa la fase de creación y publicación, se detienen todas las versiones y versiones posteriores.

AWS incluye un conjunto completo de herramientas de CI/CD desarrollo para acelerar los ciclos de desarrollo y lanzamiento del software. [AWS CodePipeline](https://aws.amazon.com/codepipeline/)automatiza las fases de creación, prueba e implementación del proceso de publicación cada vez que se produce un cambio de código, en función del modelo de publicación definido. Esto permite la entrega rápida y confiable de funciones y actualizaciones. 

Las canalizaciones de código se pueden integrar con otros servicios. Pueden ser AWS servicios, como [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (Amazon S3), o productos de terceros, como GitHub. AWS CodePipeline puede abordar una variedad de casos de uso de desarrollo y operación, que incluyen:
+ Compilar, compilar y probar código con [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+ Entrega continua de aplicaciones basadas en contenedores a la nube
+ Se requiere la validación previa al despliegue de los artefactos (como descriptores e imágenes de contenedores) para el servicio de red o para funciones de red específicas nativas de la nube
+ Pruebas funcionales, de integración y de rendimiento para el funcionamiento de la red de function/virtual red en contenedores (CNF/VNF), incluidas las pruebas de referencia y de regresión
+ Pruebas de confiabilidad y recuperación ante desastres (DR).

![\[Un diagrama que muestra los componentes de la canalización AWS del CICD\]](http://docs.aws.amazon.com/es_es/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g3.png)


*AWS Componentes de la tubería CICD*

AWS puede configurar CI/CD canalizaciones mediante las siguientes herramientas de AWS desarrollador:
+ [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/)

La creación de canalizaciones de CI/CD se puede automatizar mediante y. [AWS CDK[CloudFormation](https://aws.amazon.com/cloudformation/)](https://aws.amazon.com/cdk/) En el ámbito de la NFV, esta automatización AWS nativa se puede integrar en un marco de gestión y orquestación (MANO) y en el marco de orquestación de servicios del CSP. 

El CI/CD proceso incluye los siguientes pasos:
+ Configuración de la red AWS CDK e CloudFormation iniciar la creación de los requisitos previos de la red:
+ Pila de redes (VPC, subredes, puerta de enlace de traducción de direcciones de red (NAT), tabla de enrutamiento y puerta de enlace de Internet)
+ Despliegue de la infraestructura AWS CDK e CloudFormation inicie la creación de las siguientes pilas de recursos:
+ Pila de cómputo (creación de clústeres de [Amazon Elastic Kubernetes](https://aws.amazon.com/eks/) Service (Amazon EKS), nodos EKS Worker) [AWS Lambda](https://aws.amazon.com/lambda/)
+ Pila de almacenamiento (depósitos de Amazon S3, volúmenes de [Amazon Elastic Block Store](https://aws.amazon.com/ebs) (Amazon EBS) y [Amazon Elastic File System](https://aws.amazon.com/efs/) (Amazon EFS) 
+ Pila de monitorización () [ CloudWatch](https://aws.amazon.com/cloudwatch/), [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/) (OpenSearch Servicio) 
+ Pila de seguridad [AWS Identity and Access Management](https://aws.amazon.com/iam/)(AWS IAM), grupos de seguridad de [Amazon Elastic Compute Cloud](https://aws.amazon.com/ec2) (Amazon EC2), listas de [control de acceso a la red de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) () NACLs 
+ **Implementación de la función de red en la nube (CNF)**: en esta etapa, la CNF se implementa en los clústeres de EKS mediante las herramientas de gráficos de [Kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) y Helm. [Esta etapa también implementa cualquier aplicación o herramienta específica que necesite CNFs para trabajar de manera eficiente (como [Prometheus](https://prometheus.io/) o Fluentd).](https://www.fluentd.org/) CNFs se puede implementar mediante funciones Lambda o con. AWS CodeBuild
+ Actualizaciones e implementación continuas: se trata de una secuencia de pasos que se llevan a cabo de forma iterativa para implementar los cambios que forman parte de container/configuration los cambios que dan lugar a las actualizaciones. [Al igual que en el caso de implementación de CNF, las actualizaciones y el despliegue continuos se pueden automatizar mediante AWS los servicios, con el activador de [AWS CodeCommit](https://aws.amazon.com/codecommit/)[Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) (Amazon ECR) o de un sistema fuente de terceros, como GitLab Webhooks.](https://docs.gitlab.com/ee/user/project/integrations/webhooks.html)

![\[Un diagrama que muestra el flujo de canalización del AWS CICD.\]](http://docs.aws.amazon.com/es_es/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g4.png)


*Diagrama de flujo de canalización de AWS CICD*

La CI/CD canalización se crea utilizando [AWS CodePipeline](https://aws.amazon.com/codepipeline/)y utiliza un servicio de entrega continua que modela, visualiza y automatiza los pasos necesarios para lanzar el software. Al definir las etapas de una canalización, puedes recuperar el código de un repositorio de código fuente, convertirlo en un artefacto publicable, probar el artefacto e implementarlo en producción. Solo se implementará el código que supere satisfactoriamente todas estas etapas. Si lo desea, puede añadir otros requisitos a su proceso, como las aprobaciones manuales, para garantizar que solo los cambios aprobados se implementen en producción.