release management devops
Qu'est-ce que la gestion des versions dans DevOps?
J'espère que vous auriez été clair sur Concept de gestion de la configuration dans DevOps de notre dernier tutoriel.
Comme nous l'avons défini précédemment, DevOps est l'ensemble de l'équipe qui détient le logiciel depuis sa création jusqu'à sa livraison en production et s'assure que l'application fonctionne en production conformément aux exigences.
Lecture recommandée => Les meilleurs didacticiels de formation DevOps
Par conséquent, la «gestion des versions», comme nous le savons tous, consiste à gérer quelle version du logiciel est déployée dans quel environnement, quand et comment, ce n’est pas seulement la responsabilité du responsable des versions, mais la responsabilité de toute l’équipe de DevOps.
Les principaux avantages de la gestion des versions dans DevOps peuvent être résumés comme suit:
-
- Livraisons plus rapides et cohérentes.
- Audit solide et traçabilité des changements.
- Automatisation du processus de lancement: meilleure qualité, cohérence, confiance.
- Renforce la confiance grâce à des livraisons réussies et cohérentes.
- Faire la libération - activité non stressée
- Pas de temps d'arrêt
VIDEO Partie 4 Bloc 2: Gestion des versions- 17 minutes 12 secondes
Transcription:
Dans ce bloc, nous comprendrons le Procédure de gestion des versions de DevOps .
Qu'est-ce que la gestion des versions dans le contexte DevOps et quels sont ses principaux avantages?
Quand je pense à la gestion des versions, les différentes questions qui se posent dans mon esprit sont: quelle version fonctionne dans quel environnement, et quels correctifs y ont été appliqués? Quels sont les correctifs qui ont été déployés et pour quel client?
Je sais, c'est le casse-tête du gestionnaire de publication de garder une trace de toutes ces informations. Nous savons, auparavant, que la gestion des versions n'était pas non plus la responsabilité du développeur ou des opérations. C'était une équipe de gestion des versions distincte qui gérait les activités de publication des logiciels.
Et un conseil séparé appelé CCB et CAB, un conseil de contrôle des changements, un conseil d'approbation des changements, utilisé pour gérer la responsabilité de gérer les changements et de contrôler ce qui est appliqué et ce qui ne l'est pas.
Mais maintenant, les choses ont changé avec le DevOps. Et ce n'est plus seulement la responsabilité du responsable de publication, mais de toute l'équipe.
Comme nous l'avons défini plus tôt DevOps, DevOps est une équipe entière qui détient le logiciel depuis sa création jusqu'à sa livraison en production et s'assure que l'application fonctionne en production conformément aux exigences.
Ainsi, dans DevOps, à moins que le code ne soit déployé sur le site et que ses performances ne soient surveillées avec succès pendant une période donnée, la tâche de développement logiciel n'est pas terminée.
Par conséquent, la responsabilité de la livraison du logiciel et de ses performances en direct incombe à chacun dans l'équipe. Il en va de même pour les tâches de gestion des versions.
Nous en apprendrons plus sur les aspects de la gestion des versions dans DevOps.
Laissez-nous comprendre Qu'est-ce que la gestion des versions?
Comme nous le savons tous, dans une large perspective, la gestion des versions consiste à gérer et à maintenir les informations, quelle version du logiciel ou des composants sont déployés dans quels environnements, quand et comment elle a été déployée.
meilleur logiciel de bureau à distance pour windows
Donc, tout est question de gestion des versions.
Voyons comment fonctionne le processus de gestion des versions.
Contrairement aux précédents, il n’existe pas de CCB formels dans DevOps. Mais cela ne signifie pas qu'il n'y a pas d'approbation des modifications.
Les approbations se font également via un outil. Les outils de gestion du changement comme Jeera et ClearQuest sont utilisés pour effectuer l'enregistrement et l'approbation des changements et les acheminer vers l'équipe de développement à des fins de construction d'un backlog comme une dette technique ou une nouvelle exigence.
Ces modifications prises en compte par l'équipe du programme sont élaborées, testées et déployées automatiquement dans la production avec le pipeline de livraison automatisé. Mais chaque changement est enregistré dans le contrôle de version et ces changements sont audités et testés tout au long du pipeline de livraison.
Ainsi, quels que soient les changements apportés par l'équipe, sont enregistrés dans l'outil de contrôle de version et ce qui a été déployé avec succès sur les environnements et leurs configurations sont disponibles dans l'outil de configuration.
Par conséquent, le contrôle de version et la gestion de la configuration ensemble nous donnent une image claire de ce qui est publié, quand il est publié, où il est publié et comment il est publié.
Ainsi, dans le contexte de DevOps, c'est essentiellement le contrôle de version et la gestion de la configuration qui agit comme un outil de gestion des versions. Ainsi, ces deux processus et outils agissent comme un CCB, que nous appelons dans notre méthode de développement traditionnelle.
Fondamentalement, il automatise le travail d'un responsable CCB, qui vérifie idéalement chacun de ces changements ou versions et certifie de le laisser passer en production.
Dans le cas de DevOps, ce n'est pas la version qui est certifiée, mais l'ensemble du pipeline de livraison qui est certifié de manière automatisée avec des portes manuelles.
En tant que telle, la gestion des versions n'est pas une activité distincte dans le cadre de DevOps, mais elle est déjà intégrée dans le cadre du pipeline DevOps ou du pipeline de livraison avec le contrôle de version, la gestion de la configuration et le pipeline de déploiement.
Ainsi, le contrôle de version associé à la gestion de la configuration fait la gestion des versions.
Et tandis que nous entrons dans la pratique DevOps où nous visons à effectuer des livraisons sur une période de quelques heures, il est pratiquement impossible de gérer manuellement des déploiements aussi fréquents et son enregistrement et sa maintenance par les processus de gestion des versions traditionnels où ils gèrent manuellement avec automatisation. dans une très petite mesure.
Ainsi, l'automatisation totale du processus de gestion des versions est un must.
De plus, dans le pipeline DevOps, nous n'avons pas besoin de contrôler les déploiements, si les modifications sont approuvées, construites, testées et entrent dans le contrôle de version, elles sont automatiquement appliquées à la production. Bien sûr, des bascules de fonctionnalités sont là pour activer ou désactiver pour les contrôler dans la production.
L'audit et la traçabilité de chaque changement sont l'un des avantages les plus importants du point de vue de la gestion des versions. Ainsi, lorsque nous construisons le pipeline DevOps ou le pipeline de livraison, nous intégrons cette journalisation et cet audit dans le pipeline, de sorte que les événements en temps réel sur l'environnement soient enregistrés et audités.
Donc, nous allons obtenir les événements réels qui se produisent en raison de l'action de déploiement de l'application sur l'environnement. Étant une version de plus en plus courte, il est assez facile de suivre ces changements tout au long du pipeline.
Nous sommes arrivés à la partie Outils de la gestion des versions.
Les outils de gestion des versions disponibles sur le marché garantissent que le déploiement automatique des modifications est rapide et sans erreur et visent à offrir la valeur maximale aux utilisateurs.
Fondamentalement, ce sont les outils de déploiement, qui sont utilisés dans le pipeline de livraison lors du déploiement automatisé.
XL Release est l'un de ces outils de gestion des versions qui est spécifique au déploiement continu. Comme je l'ai dit plus tôt, ces outils aident les équipes DevOps à concevoir leur modèle de déploiement et aident à surveiller les versions en automatisant toutes les tâches liées au déploiement et à la gestion des versions.
Plutora est un autre outil robuste de ce type qui fournit un ensemble d'outils logiciels de gestion des versions informatiques d'entreprise à la demande qui aide à fournir les versions.
Le produit Release Lifecycle Management de BMC Software est également un outil de gestion des versions de BMC Software qui offre une visibilité de bout en bout de la progression de la version du logiciel. Il semble que, grâce à un portail Web central, les utilisateurs puissent suivre le développement de l'application, l'assurance qualité et la production pour surveiller les implications de chaque changement effectué.
Il existe un autre outil de XebiaLabs. Cet outil permet de planifier, automatiser et analyser le pipeline de leurs versions logicielles.
Laissez-nous énumérer les avantages du système automatisé de gestion des versions de DevOps.
Tout d'abord, l'ensemble des processus de gestion des versions, qui sont automatisés, aide l'équipe à effectuer des livraisons plus rapides et cohérentes aux clients.
Nous avons appris que, chaque fois qu'une version ou un changement est poussé à travers un pipeline de livraison continue dans l'environnement DevOps, toutes les informations sur ce qui s'est réellement passé sur l'environnement sont clairement écrites dans les journaux.
Ainsi, nous aurons des choses réelles ou des événements en temps réel qui seront consignés dans le journal, à partir de ce qui s'est passé lors du déploiement réel de la version sur un environnement particulier.
Donc, avec cela, nous avons un audit et une traçabilité très très forts des changements maintenus dans DevOps.
À tout moment, quiconque apporte des modifications dans n'importe quelle partie du pipeline de livraison, sera retracé.
Nous aurons en contrôle de version, ce qui a été changé, ce qui a été déployé et ses configurations respectives. Ainsi, cela fournit une visibilité claire sur les détails sur, ce qui a été livré, où il a été livré, quand et comment, dans le cas de chaque version.
L'automatisation du pipeline de publication est une autre fonctionnalité intéressante du DevOps, qui empêche autant que possible toute intervention manuelle et il est également très facile de retracer en cas d'échec de la version, en comparant la version échouée avec la version réussie.
Ainsi, l'automatisation du pipeline de versions nous offre une meilleure qualité de livraison en quelques minutes. Des erreurs humaines, une cohérence et évidemment une plus grande confiance dans les livraisons sont faites.
Cela permet également à l’équipe de sentir que le déploiement ou la «mise en production» est un programme de routine ou quotidien, en leur faisant comprendre à fond le pipeline de versions et ses déploiements.
Nul doute que ce confort et ce gain de temps permettent aux gens de se concentrer davantage sur les autres choses importantes que sur la routine.
Nous savons plus tôt, les sorties se produisaient après les heures ou au petit matin et généralement le week-end. Et l'équipe était tenue de prendre en charge ces versions à ces horaires.
Pensez à tous les moments stressants avant la libération qui se produiraient, être réveillé dans l'après-midi ou tôt le matin pour effectuer le déploiement, finir par commettre des erreurs humaines, oublier de faire un changement, puis prier Dieu pour que la libération réussisse etc.
Alors maintenant, la méthode DevOps actuelle de déploiement et de gestion des versions a mis un rideau à tous nos problèmes antérieurs de moments stressants.
meilleur pare-feu gratuit pour windows 7
Plus de déploiements le week-end, plus de nuits blanches et plus de stress de déploiement. Tout est automatisé. Ainsi, publier de nouvelles fonctionnalités ou mettre à jour des modifications n'est plus une activité stressante.
La méthode de déploiement DevOps n'implique aucun temps d'arrêt ou aucune sorte d'interruptions pour les utilisateurs par rapport au cas précédent d'envoi de messages de temps d'arrêt ennuyeux à tous les clients et de leur demander d'arrêter d'utiliser le service ou de leur donner des surprises soudaines avec les problèmes inattendus qui se sont produits. pendant la mise à niveau et prolongeant encore le temps d'arrêt.
Ridicule !! Pourquoi devraient-ils s'inquiéter des mises à niveau logicielles que nous faisons ou pourquoi devraient-ils avoir des problèmes avec ces mises à jour?
Ne dérangez pas les utilisateurs avec les mises à jour effectuées par l'équipe logicielle sur le serveur. Par conséquent, la manière DevOps de faire des versions a mis fin à tous ces problèmes.
Plus de déploiements de nuit, plus de correctifs fournis aux clients et plus de panne de service.
Avec cela, nous terminons le sujet de «Release Management in DevOps».
Dans notre prochain tutoriel , nous en apprendrons plus sur la Processus de surveillance des performances des applications dans DevOps.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Gestion de la configuration dans les pratiques DevOps
- Communiqué de presse: le module complémentaire de gestion des tests, Zephyr pour JIRA, est désormais disponible dans le cloud
- Déploiement continu dans DevOps
- Ce que le testeur d'assurance qualité doit savoir sur le processus de gestion des versions et du déploiement
- Importance de petits incréments de livraisons dans DevOps
- Livraison continue dans DevOps
- Tests continus dans DevOps
- Automatisation DevOps: comment l'automatisation est-elle appliquée dans la pratique DevOps