Qu'est-ce que le CI/CD ?

Le CI/CD ou intégration continue/livraison ou déploiement continu, est une pratique de développement logiciel rendue possible par l'automatisation. Des mises à jour fréquentes et fiables accélèrent les cycles de publication grâce à la livraison continue du code.

Présentation de CI/CD

CI/CD est un terme générique couvrant plusieurs phases DevOps. CI (intégration continue) est la pratique consistant à intégrer des modifications de code dans un dépôt plusieurs fois par jour. CD a deux significations : la livraison continue automatise les intégrations de code, tandis que le déploiement continu publie automatiquement les versions finales aux utilisateurs finaux. Les tests fréquents de CI/CD réduisent les erreurs de code et les défauts, ce qui les rend essentiels pour les flux de production DevOps.

 

Gestion du code source

Intégration continue (CI)

L'intégration continue est une bonne pratique DevOps et une étape du cycle de vie DevOps au cours de laquelle les développeurs enregistrent du code dans leur dépôt de code partagé, souvent plusieurs fois par jour. Idéalement, à chaque fois que cela se produit, un outil de compilation automatisé vérifie la validation ou la branche pour s'assurer qu'il n'y a pas d'erreurs et que le code est prêt à être mis en production. Le principal avantage ici est que les problèmes sont généralement détectés tôt, avant qu'ils ne se transforment en difficultés plus importantes.

L'intégration continue signifie intégrer de petits sous-ensembles de changements dans un laps de temps plus court, plutôt que des mises à jour substantielles qui prennent plus de temps et qui sont intégrées moins souvent. L'automatisation des flux de production pour tester, fusionner et vérifier les modifications apportées à un dépôt partagé permet aux équipes de fournir un code plus propre à un rythme plus rapide. Un code plus propre signifie une validation plus rapide, des versions plus propres et un pipeline de développement plus efficace et plus facile à faire évoluer.

 

Intégration continue (CI)

L'intégration continue est une bonne pratique DevOps et une étape du cycle de vie DevOps au cours de laquelle les développeurs enregistrent du code dans leur dépôt de code partagé, souvent plusieurs fois par jour. Idéalement, à chaque fois que cela se produit, un outil de compilation automatisé vérifie la validation ou la branche pour s'assurer qu'il n'y a pas d'erreurs et que le code est prêt à être mis en production. Le principal avantage ici est que les problèmes sont généralement détectés tôt, avant qu'ils ne se transforment en difficultés plus importantes.

L'intégration continue signifie intégrer de petits sous-ensembles de changements dans un laps de temps plus court, plutôt que des mises à jour substantielles qui prennent plus de temps et qui sont intégrées moins souvent. L'automatisation des flux de production pour tester, fusionner et vérifier les modifications apportées à un dépôt partagé permet aux équipes de fournir un code plus propre à un rythme plus rapide. Un code plus propre signifie une validation plus rapide, des versions plus propres et un pipeline de développement plus efficace et plus facile à faire évoluer.

 

Intégration continue (CI)

L'intégration continue est une bonne pratique DevOps et une étape du cycle de vie DevOps au cours de laquelle les développeurs enregistrent du code dans leur dépôt de code partagé, souvent plusieurs fois par jour. Idéalement, à chaque fois que cela se produit, un outil de compilation automatisé vérifie la validation ou la branche pour s'assurer qu'il n'y a pas d'erreurs et que le code est prêt à être mis en production. Le principal avantage ici est que les problèmes sont généralement détectés tôt, avant qu'ils ne se transforment en difficultés plus importantes.

L'intégration continue signifie intégrer de petits sous-ensembles de changements dans un laps de temps plus court, plutôt que des mises à jour substantielles qui prennent plus de temps et qui sont intégrées moins souvent. L'automatisation des flux de production pour tester, fusionner et vérifier les modifications apportées à un dépôt partagé permet aux équipes de fournir un code plus propre à un rythme plus rapide. Un code plus propre signifie une validation plus rapide, des versions plus propres et un pipeline de développement plus efficace et plus facile à faire évoluer.

 

Comparaison entre intégration continue et publication continue

Livraison continue

La livraison continue suit l'intégration continue et vous pouvez la considérer comme une phase de contrôle dans le pipeline de développement, avant que le produit final ne soit publié ou déployé chez les clients. Une fois les modifications de code validées, elles sont automatiquement livrées au dépôt. 

Avec la livraison continue, l'objectif est de conserver des ensembles de modifications suffisamment petits pour qu'aucune mise à jour de la version principale ne compromette le statut du produit final, s'il n'est pas prêt pour la publication. Le produit final peut contenir des erreurs mineures, mais pas suffisamment importantes pour compromettre l'expérience utilisateur.

La pratique de la livraison continue permet aux développeurs de passer moins de temps à effectuer des tests en interne, car cette pratique garantit que seul un code stable parvient à la phase de livraison en premier lieu. Elle simplifie la détection des bogues et accélère les délais de résolution.

Avantages du CI/CD

Itération rapide

L'adoption de pratiques CI/CD dans le cadre de votre cycle de vie DevOps accélère le développement en automatisant le travail manuel de validation et de déploiement des modifications apportées à la base de code.

Un code plus propre

La validation de nombreuses petites modifications tout au long de la journée réduit considérablement le risque d'erreurs de compilation dans votre code source.

Des corrections de bugs plus rapides

En fusionnant plus souvent les petits ensembles de modifications avec le CI/CD, il est plus facile d'identifier les erreurs de code et de les corriger avant qu'elles ne deviennent un problème plus important.

Des boucles de retour d'informations plus courtes

Le CI/CD permet de raccourcir les boucles de retour d'informations, un principe fondamental du DevOps, car les petites modifications itératives sont plus faciles à intégrer, à tester et à déployer.

Meilleure collaboration

Le CI/CD apporte de la clarté au travail en définissant des processus et des délais pour les commits de code et les lancements de compilations. Avec des objectifs plus clairs, les équipes peuvent agir avec plus d'agilité.

Des clients plus satisfaits

Étant donné que les compilations sont toujours prêtes à être publiées avec le CI/CD, les clients subissent moins d'interruptions de service et leurs commentaires peuvent être intégrés beaucoup plus rapidement.

Lectures similaires

Explorez des ressources supplémentaires pour en savoir plus sur le CI/CD et d'autres solutions et processus DevOps.

Comparaison entre Agile et DevOps

Agile et DevOps ont les mêmes objectifs, à savoir apporter une valeur ajoutée au client grâce à des plannings de publication réguliers, mais ces méthodologies diffèrent légèrement dans leur approche. Découvrez comment elles peuvent fonctionner ensemble.

Les avantages de DevOps

La mise en œuvre des pratiques DevOps peut rationaliser votre pipeline de développement et faire le bonheur de votre équipe et de vos utilisateurs. Découvrez comment DevOps peut vous aider.

Comprendre la gestion du code source

La gestion du code source (SCM) permet aux équipes de travailler rapidement et de collaborer efficacement. Apprenez tout ce que vous devez savoir sur les outils de gestion de versions, quand les utiliser et comment ils fonctionnent.

La solution CI/CD de Unity

Réalisez des itérations rapides et tirez parti d'une gestion du code source et d'une automatisation puissantes pour votre projet grâce aux solutions CI/CD de Unity. Choisissez Unity Cloud Build pour le travail distribué ou augmentez votre capacité de compilation sur site avec Unity Build Server.

CI/CD Frequently asked questions

Is agile the same as CI/CD?

An agile workflow and CI/CD are related, however, they are not the same! They describe completely different aspects of the software development pipeline. Agile development, refers to the process or methodologies for managing workflows, meeting cadences, and team organization in software development. An agile methodology embraces change while accelerating delivery by listening and responding to customer needs and involving them in each stage of the development process.

CI/CD relies on automation to remove the human elements that create bottlenecks in releasing and improving the software. In both CI and CD testing is automated throughout the pipeline and is done frequently to minimize the costs and time it takes to remediate defects.

 

How often should you be deploying to production with continuous deployment?

With CI/CD, releases should always be frequent to avoid future problems and assure your software is always in a releasable state - typically deploying multiple times a day. A common assumption with CI/CD teams should be implementing "constant" releases, however, this is not always the case. Your release cycle can vary widely depending on your product, your builds, and other factors you might want to take into consideration such as:

Is it a critical or minor fix?

Are you tracking regression counts from build to build?

Is there a QA team put in place?

Does the code base have unit tests?

Are there any code duplications?

These are just a few examples of aspects to consider when thinking about a release strategy and pipeline, but it differs drastically from team to team. Different products require different approaches.

Is continuous deployment worth it?

There is no one size fits all answer to this question. Before investing in continuous deployment a business must first assess what the biggest risks are of their product and then determine the tradeoffs in how you want to deploy software. The success of your product is dependent on being able to quickly iterate, get feedback from your customers, and continue to make changes. Continuous deployment will be highly impactful and profitable if you are prioritizing shortening feedback loops and building a highly responsive business. However, if your business does not have many customers then the benefits of implementing increments of deployment will add less value and more costs. The staging environment you choose to deploy ultimately depends on your business needs, workflow, and budget.

Does continuous delivery encourage configuration as code?

Continuous delivery does encourage configuration because it continuously makes changes to the original code in the configuration. This ensures that the configuration stays up with code errors that may occur over time.

Ce site utilise des cookies dans le but de vous offrir la meilleure expérience possible. Consultez notre politique de cookies pour en savoir plus.

Compris