Section courante

A propos

Section administrative du site

Intégration continue (CI) et déploiement continu (CD)

La plupart des projets sont un travail d'équipe. L'équipe peut être située à différents endroits ou au même endroit, et les membres de différents endroits doivent travailler en mode synchronisation afin que leurs modifications n'entrent pas en conflit avec les autres membres de l'équipe. Un système ne mûrira pas tant qu'il n'est pas utilisé dans divers scénarios ; ces scénarios pourraient être basés sur l'expérience d'experts du domaine ou provenir de l'environnement de production. Il est possible qu'un système tombe en panne dans l'environnement de production même s'il est considéré comme un système parfait. En termes d'applications Web, les conditions sont plus critiques en raison de problèmes de performances, de mauvaises expériences utilisateur,... Un système doit passer par un processus où, si un membre de l'équipe apporte des modifications, le code est intégré après les tests unitaires et la construction est ensuite déployée dans l'environnement associé.

Lorsque nous disons déploiement, le déploiement Xcopy vient immédiatement à l'esprit. Dans ce type de déploiement, vous créez et copiez simplement les fichiers associés et déployez/collez dans un environnement approprié.

Dans les fondements du déploiement, telles que l'intégration continue (CI) et le déploiement continu (CD), nous constatons principalement les sujets suivants :

Terminologie de déploiement

Avant d'aller plus loin, nous devons d'abord discuter des raisons pour lesquelles nous parlons de déploiement. Le cycle de déploiement est celui ayant un flux spécifique et nous devons comprendre la terminologie de déploiement. La terminologie de déploiement inclut simplement les étapes commençant par les modifications de code jusqu'à la publication.

La phase de construction (build stage)

Au stade de la construction, la source du service est compilée sans aucune erreur avec la réussite de tous les tests unitaires correspondants. Cette étape produit des artefacts de construction.

Intégration continue (CI)

Le CI force l'intégralité de l'application à être recréée chaque fois qu'un développeur effectue une modification : le code de l'application est compilé et un ensemble complet de tests automatisés est exécuté sur celui-ci. Cette pratique est née des problèmes d'intégration fréquente du code dans les grandes équipes. L'idée de base est de garder le delta, ou de modifier le logiciel, petit. Cela permet de s'assurer que le logiciel est dans un état fonctionnel. Même si un enregistrement effectué par un développeur casse le système, il est facile de le réparer en utilisant ce processus.

Déploiement

Le provisionnement du matériel, l'installation du système d'exploitation de base et la version correcte du cadre d'application .NET sont des conditions préalables au déploiement. La partie suivante consiste à faire avancer ces artefacts de construction en production à travers différentes étapes. La combinaison de ces deux parties est appelée étape de déploiement. Il n'y a pas de distinction entre les étapes de déploiement et de publication dans la plupart des applications.

Déploiement continu (CD)

Dans le CD, chaque construction (build) réussie est déployée dans un environnement préféré, par exemple, la production. Les environnements varient d'une organisation à l'autre. Ainsi, le CD n'est pas destiné à un environnement de production, mais vous pouvez également l'utiliser pour d'autres environnements tels que dev (développement), staging, preprod (Pré-production),... Le CD est plus important du point de vue d'une équipe technique. Sous CD, il existe plusieurs autres pratiques, telles que les tests unitaires automatisés, l'étiquetage, la gestion des versions des numéros de version et la traçabilité des modifications. Avec une livraison continue, l'équipe technique s'assure que les changements apportés à la production via divers environnements inférieurs fonctionnent comme prévu en production. Généralement, ceux-ci sont petits et déployés très rapidement.

Livraison continue

La livraison continue est différente du CD. Le CD vient du point de vue d'une équipe technique, tandis que la livraison continue est davantage axée sur la fourniture du code déployé le plus tôt possible au client. Pour s'assurer que les clients obtiennent le bon produit sans défaut, en livraison continue, chaque construction doit passer par tous les contrôles d'assurance qualité. Une fois que le produit passe la vérification de qualité satisfaisante, c'est aux parties prenantes de l'entreprise de décider quand le libérer.

Pipeline de construction et de déploiement

Le pipeline de génération et de déploiement fait partie de la mise en oeuvre de la livraison continue via l'automatisation. Il s'agit d'un flux de travail (workflow) d'étapes par lesquelles le code est validé dans le référentiel source. À l'autre extrémité du pipeline de déploiement, les artefacts à publier sont produits. Certaines des étapes pouvant constituer le pipeline d'une construction (build) et de déploiement sont les suivantes :

Réalisation (Release)

Une fonctionnalité commerciale mise à la disposition de l'utilisateur final est appelée la publication d'une fonctionnalité. Pour publier une fonctionnalité ou un service, les artefacts de construction (build) pertinents doivent être déployés au préalable. Habituellement, la bascule de fonctionnalité gère la publication d'une fonctionnalité. Si le drapeau de fonctionnalité (également appelé bascule de fonctionnalité) n'est pas activé en production, cela s'appelle une version sombre de la fonctionnalité spécifiée.

Conditions préalables à la réussite des déploiements de services RESTful

Le succès de tout déploiement de système dépend du style architectural et des pratiques suivies par l'équipe. Les services RESTful ont plus de chances de réussir avec l'adoption des pratiques suivantes :

L'environnement Azure

L'infonuagique Azure est un service Microsoft proposant divers services infonuagique. Le Azure est une plateforme infonuagique vous aidant à créer, déployer et gérer des applications à l'échelle mondiale.

Infonuagique

En termes simples, l'infonuagique est un magasin/lieu fournissant divers services informatiques, à savoir l'entreposage, les bases de données, les serveurs et les logiciels, sur Internet. Ces services peuvent être vendus par n'importe qui et les fournisseurs/entreprises fournissant ces services d'infonuagique sont appelés fournisseurs d'infonuagique. L'infonuagique n'est pas un nouveau terme, il existe depuis un certain temps, c'est juste que maintenant il est devenu populaire. Si vous utilisez des services en ligne vous aidant à envoyer ou à recevoir vos courriels à destination ou en provenance d'autres personnes, il s'agit d'infonuagique. Avec l'aide de l'infonuagique, vous pouvez faire presque tout ce que vous voulez. Ces prestations comprennent :

Les avantages de l'infonuagique

De nos jours, l'infonuagique a des avantages a être utilisé :

Modèles de services d'infonuagique

Il existe une liste énorme de services d'infonuagique, mais les meilleurs types de services d'infonuagique sont définis comme suit (les autres types sont basés uniquement sur ces types de services) :

Structure de l'environnement Azure

L'environnement Azure fournit un moyen d'obtenir ses différents services en utilisant Internet. Le schéma suivante représente un aperçu typique de tous les modèles de services d'infonuagiques :

Il présente IaaS comme un modèle très simplifié fournissant des serveurs et d'entreposage, et SaaS comme le modèle avancé fournissant presque tous les services d'infonuagique.



Dernière mise à jour : Vendredi, le 8 octobre 2021