

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Le CI/CD peut être décrit comme un pipeline, dans lequel le nouveau code est soumis à une extrémité, testé au cours d'une série d'étapes (source, build, test, staging et production), puis publié en tant que code prêt pour la production.

![\[Schéma illustrant un exemple de pipeline de AWS code\]](http://docs.aws.amazon.com/fr_fr/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g2.png)


*Vue d'ensemble du pipeline CICD*

Chaque étape du CI/CD pipeline est structurée comme une unité logique dans le processus de livraison. Chaque étape agit comme une porte qui permet de vérifier un certain aspect du code. Au fur et à mesure que le code progresse dans le pipeline, on suppose que la qualité du code est meilleure dans les étapes ultérieures, car de plus en plus d'aspects de celui-ci continuent d'être vérifiés. Les problèmes découverts à un stade précoce empêchent le code de progresser dans le pipeline. Les résultats des tests sont immédiatement envoyés à l'équipe, et toutes les versions ultérieures sont arrêtées si le logiciel ne passe pas cette étape.

AWS intègre un ensemble complet d'outils de CI/CD développement pour accélérer les cycles de développement et de publication des logiciels. [AWS CodePipeline](https://aws.amazon.com/codepipeline/)automatise les phases de création, de test et de déploiement du processus de publication chaque fois qu'un changement de code est effectué, en fonction du modèle de version défini. Cela permet de fournir des fonctionnalités et des mises à jour de manière rapide et fiable. 

Les pipelines de code peuvent s'intégrer à d'autres services. Il peut s'agir de AWS services, tels qu'[Amazon Simple Storage Service](https://aws.amazon.com/s3/) (Amazon S3), ou de produits tiers, tels que GitHub. AWS CodePipeline peut répondre à une variété de cas d'utilisation liés au développement et à l'exploitation, notamment :
+ Compiler, créer et tester du code avec [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+ Livraison continue d'applications basées sur des conteneurs vers le cloud
+ Validation avant le déploiement des artefacts (tels que les descripteurs et les images de conteneurs) nécessaires au service réseau ou à des fonctions réseau natives spécifiques au cloud
+ Tests fonctionnels, d'intégration et de performance pour le fonctionnement du function/virtual réseau conteneurisé (CNF/VNF), y compris les tests de référence et de régression
+ Tests de fiabilité et de reprise après sinistre (DR)

![\[Schéma illustrant les composants du pipeline AWS CICD\]](http://docs.aws.amazon.com/fr_fr/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g3.png)


*AWS Composants du pipeline CICD*

AWS peut configurer des CI/CD pipelines à l'aide des outils AWS de développement suivants :
+ [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 création de pipelines CI/CD peut être automatisée à l'aide [AWS CDK](https://aws.amazon.com/cdk/)de et. [CloudFormation](https://aws.amazon.com/cloudformation/) Dans le domaine NFV, cette automatisation AWS native peut être intégrée dans un framework de gestion et d'orchestration (MANO) et dans le framework d'orchestration des services du CSP. 

Le CI/CD processus comprend les étapes suivantes :
+ Configuration du réseau — AWS CDK et CloudFormation lancement de la création des conditions requises pour le réseau :
+ Pile réseau (VPC, sous-réseaux, passerelle de traduction d'adresses réseau (NAT), table de routage et passerelle Internet)
+ Déploiement de l'infrastructure — AWS CDK et CloudFormation initiez la création des piles de ressources suivantes :
+ Pile de calcul (création de clusters [Amazon Elastic Kubernetes](https://aws.amazon.com/eks/) Service (Amazon EKS), nœuds EKS Worker,) [AWS Lambda](https://aws.amazon.com/lambda/)
+ Pile de stockage (compartiments Amazon S3, volumes [Amazon Elastic Block Store](https://aws.amazon.com/ebs) (Amazon EBS) et [Amazon Elastic File System](https://aws.amazon.com/efs/) (Amazon EFS) 
+ Stack de surveillance ([ CloudWatch](https://aws.amazon.com/cloudwatch/), [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/) (OpenSearch Service) 
+ Pile de sécurité [Gestion des identités et des accès AWS](https://aws.amazon.com/iam/)(AWS IAM), groupes de sécurité [Amazon Elastic Compute Cloud](https://aws.amazon.com/ec2) (Amazon EC2), listes de [contrôle d'accès au réseau VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) () NACLs 
+ **Déploiement de la fonction réseau cloud (CNF)** — À ce stade, la fonction CNF est déployée sur des clusters EKS à l'aide des outils graphiques [Kubectl et Helm](https://kubernetes.io/docs/reference/kubectl/overview/). [Cette étape déploie également toutes les applications ou outils spécifiques nécessaires CNFs pour travailler efficacement (tels que [Prometheus](https://prometheus.io/) ou Fluentd).](https://www.fluentd.org/) CNFs peut être déployé via les fonctions Lambda ou avec. AWS CodeBuild
+ Mises à jour et déploiement continus : il s'agit d'une séquence d'étapes exécutées de manière itérative pour déployer les modifications qui font partie des container/configuration modifications entraînant des mises à niveau. [Comme dans le cas du déploiement CNF, les mises à jour et le déploiement continus peuvent être automatisés à l'aide AWS des services, avec le déclencheur provenant d'[AWS CodeCommit](https://aws.amazon.com/codecommit/)[Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) (Amazon ECR) ou d'un système source tiers tel que GitLab Webhooks.](https://docs.gitlab.com/ee/user/project/integrations/webhooks.html)

![\[Schéma illustrant le débit AWS du pipeline CICD.\]](http://docs.aws.amazon.com/fr_fr/whitepapers/latest/cicd_for_5g_networks_on_aws/images/cicd_5g4.png)


*Schéma de flux du pipeline AWS CICD*

Le CI/CD pipeline est construit à l'aide [AWS CodePipeline](https://aws.amazon.com/codepipeline/)et utilise un service de livraison continue qui modélise, visualise et automatise les étapes nécessaires à la publication du logiciel. En définissant les étapes d'un pipeline, vous pouvez récupérer le code d'un référentiel de code source, créer ce code source pour en faire un artefact libérable, tester l'artefact et le déployer en production. Seul le code ayant passé avec succès toutes ces étapes sera déployé. Vous pouvez éventuellement ajouter d'autres exigences à votre pipeline, telles que des approbations manuelles, pour garantir que seules les modifications approuvées sont déployées en production.