Le Blog Uptrends

Nous supervisons vos sites Web.

Nous supervisons vos sites Web et les dernières technologies d'Internet

Essayer Uptrends
You are here: Home / Technology / CI/CD : Qu’est-ce que l’intégration continue ?

CI/CD : Qu’est-ce que l’intégration continue ?

Technology 26 juin 2020 Uptrends

L’intégration continue est la première moitié de l’acronyme CI/CD, la seconde moitié étant la livraison continue. Dans cet article en trois parties, nous examinons ces deux moitiés, CI et CD, pour les définir et les comprendre, puis, dans la troisième partie, nous parlerons de la façon dont Uptrends peut s’intègrer dans vos processus CI/CD. Commençons par le début avec l’intégration continue.

Alors, qu’est-ce que l’intégration continue ?

L’intégration continue (CI) est un processus utilisé par les développeurs de logiciels pour créer des logiciels de manière rapide et efficace. Les développeurs de logiciels décomposent les fonctionnalités nécessaires en petits composants logiques dans la phase de définition. Une fois défini, le code est écrit et testé sur l’ordinateur du développeur pendant la phase de codage. Cette phase terminée de manière satisfaisante, le développeur soumet (commit) le code au système de contrôle de version. L’intégration du code déclenche des processus automatisés qui intègrent les modifications dans une nouvelle version et testent en continu le logiciel. Une fois incorporé, le cycle recommence avec la phase de planification du processus.

Le cycle d'intégration continue
La raison principale d’utiliser un processus d’intégration continue est qu’elle réduit le temps entre la conception et la livraison d’un nouveau logiciel. Les processus d’implémentation de logiciels précédents nécessitaient que les développeurs travaillent de manière isolée pendant de longues périodes. Les développeurs travaillaient à partir de spécifications, et souvent leur code n’a été testé en conjonction avec le travail effectué par d’autres développeurs, que bien plus tard dans le processus. Après des mois, voire des années de travail, l’intégration du code commençait, suivie par une période parfois plus longue de corrections de bogues, de révisions de code et de modifications des fonctionnalités. Par la suite, toutes ces retouches ont nécessité des tests de régression supplémentaires, avant même que le client n’ait vu ou approuvé le produit. Voyez-vous où ça mène ? Nulle part – et pas vite.

Alors pourquoi utiliser la CI ? Grâce à une boucle de rétroaction ultra rapide, la CI permet d’obtenir un meilleur code rapidement pour les utilisateurs finaux en révélant des erreurs dans la conception du code, des problèmes d’intégration de code au système, et des problèmes de performances.

Comment l’intégration continue accélère-t-elle le processus de développement ?

Comme décrit ci-dessus, lorsque les développeurs écrivent du code de manière isolée sur de longues périodes, il devient difficile d’intégrer le nouveau code dans l’application de base sans problèmes importants. Trouver les bogues dans le code prend du temps et conduit souvent à introduire des conflits de code et de bogues dans d’autres fonctions de manière inattendue. Le processus d’intégration prend souvent plus de temps que le temps nécessaire pour coder la fonctionnalité, de sorte que le processus est coûteux et retarde considérablement la livraison du produit.

Avec la CI, de nombreux développeurs ou équipes de développeurs travaillent à partir de cas d’utilisation ou de récits utilisateurs (user stories). Un cas d’utilisation ou un récit utilisateur décrit une unité de fonctionnalité, telle que l’ajout d’un produit à un panier. Une fois que les développeurs ont codé et testé la nouvelle fonctionnalité sur la copie localisée de l’environnement de développement, ils soumettent leur code dans un système de contrôle de version comme Git. L’action de soumettre le code déclenche un processus automatisé qui intègre le code dans l’application. Un processus automatisé effectue d’autres tests de la nouvelle fonctionnalité pendant que le développeur passe à un nouveau cas d’utilisation et que d’autres peuvent continuer à s’appuyer sur le nouveau code.

Avec la CI, on passe plus de temps à développer des fonctionnalités et moins de temps à réparer le code. Les cycles de développement plus courts se traduisent par des dates de livraison plus tôt et un produit plus robuste.

Un exemple d’intégration continue

Pour illustrer le processus de CI, prenons une application d’agenda utilisée pour planifier des rendez-vous. Actuellement, dans cette application hypothétique, un utilisateur peut réserver une date et une heure de rendez-vous, mais il ne peut pas annuler ou reprogrammer le rendez-vous à l’aide de l’application. L’objectif est donc d’ajouter cette fonctionnalité à l’application. Votre responsable vous a choisi pour écrire la partie annulation de la fonctionnalité pendant qu’un collègue prend en charge la partie reprogrammation de rendez-vous. Voici votre processus :

  1. Vous générez une copie locale de l’application actuelle depuis la plate-forme de gestion des versions sur votre ordinateur.
  2. Vous écrivez le code. Ce petit composant comprend un nouveau bouton ou lien dans l’application sur lequel l’utilisateur clique pour annuler le rendez-vous. Lorsque l’utilisateur a confirmé sa décision d’annuler le rendez-vous, une simple fonction que vous avez écrite envoie une demande à la base de données pour supprimer le rendez-vous de l’agenda.
  3. Vous effectuez des tests exhaustifs du code dans votre copie de l’application.
  4. Vous soumettez vos modifications au logiciel de version. Les modifications lancent un processus de build (assemblage de modules pour construire le produit final) et de test automatisé.
  5. Vous vérifiez les résultats du build pour d’éventuels problèmes. S’il n’y en a pas vous passez à l’étape suivante, sinon il faut revoir votre code. Par exemple, vous avez soumis le code pour annuler le rendez-vous, mais pendant que vous travailliez sur votre copie locale de l’application, votre collègue a soumis ses modifications d’interface utilisateur. Et vous avez tous deux ajouté un bouton au même endroit sur la page. La build échoue en raison du conflit et vous devez déplacer votre bouton avant de soumettre le code à nouveau.
  6. Vous passez à un autre cas d’utilisation ou continuez à travailler sur le même.

Vous avez ajouté une fonctionnalité indispensable au produit, et ce n’est même pas l’heure du déjeuner. Le nouveau code fait maintenant partie du produit, au moins dans la version actuelle du code dans l’environnement de développement.

Votre responsable a chargé Mia, votre collègue, de l’autre partie de la nouvelle fonctionnalité. Elle doit annuler le rendez-vous actuel et mettre à jour la base de données avec la nouvelle date et heure. Mia a apporté des modifications à l’interface utilisateur qui permettent un déplacement de rendez-vous possible, mais, en arrière-plan, la nouvelle fonctionnalité de Mia utilise votre fonction pour annuler un rendez-vous et réutilise l’ancienne fonctionnalité du calendrier pour prendre le nouveau rendez-vous.

Votre nouveau code était prêt à être réutilisé par Mia en un temps record. Ensemble, en une matinée, vous avez ajouté de la valeur à l’application.

L’automatisation est la clé

L’environnement de développement agile est dynamique. Il y a des changements tout le temps et l’intégration continue est une partie importante du processus de développement. Au cœur du processus CI se trouve l’automatisation du build et des tests du logiciel. Dans le cas des sites web, des applications web et des API, les tests nécessitent la vérification des fonctionnalités, des performances et de la disponibilité.

Vous pouvez installer Uptrends derrière votre pare-feu pour surveiller votre environnement de développement. Parce que les Points de contrôle privés d’Uptrends résident sur vos serveurs derrière votre pare-feu, votre point de contrôle privé peut surveiller votre environnement de développement de la même manière que les points de contrôle Uptrends réguliers surveillent votre infrastructure web. Vous pouvez développer vos scripts pour les Moniteurs API et la Surveillance des applications Web à côté de votre code d’application en évolution. Lorsque vous êtes prêt à déployer votre environnement de développement, vous pouvez automatiser le portage de vos moniteurs nouveaux ou modifiés directement vers votre environnement d’acceptation ou de production (on y reviendra plus tard).

Épisode suivant : Livraison continue (prochainement)

  • Partager
  • Tweeter
  • Partager
  • Partager
  • Share

Uptrends

Nous écrivons des articles pour informer et soutenir nos utilisateurs. Nous abordons divers sujets liés à la performance Web.

« Newer article
CI/CD : Qu’est-ce que la livraison continue ?
Previous article »
Sept optimisations d’alerte en surveillance de site web et d’API

Laisser un commentaire Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Améliorez la performance de votre site Web avec Uptrends !

Découvrez comment Uptrends peut vous aider à optimiser la performance de votre site Web avec un essai gratuit de 30 jours.

Démarrer un essai gratuit

Copyright © 2021 · Blog Uptrends · Nous supervisons vos sites Web et les dernières technologies d'Internet · Log in