Découvrir

Zuul géré

Zuul

Une histoire brève


Zuul a été initialement développé en 2012 pour CI open source tests, permettant à ses utilisateurs de développer ensemble de manière efficace et efficiente sur plusieurs projets. Essentiellement, le problème que Zuul a été conçu pour résoudre est de fournir aux développeurs un outil permettant de tester les états futurs sérialisés plus rapidement qu'il n'était possible lors de l'exécution des tests pour eux en série. Le concept de pipeline d’emprunt de conception de processeurs fournissait une sorte de « spéculation optimiste » grâce à laquelle on pouvait effectivement paralléliser ces tests dans les cas où les tâches étaient susceptibles d’être réussies. Il est ensuite devenu un outil permettant de fusionner, de créer et de tester automatiquement toute nouvelle modification apportée à un projet, offrant ainsi un pipeline de flux de travail automatisé et sécurisé. C'est grâce à ce contrôle que le code nouveau ou modifié ne peut pas être mis en production sans passer les tests d'intégration unitaires conçus et définis par le responsable du projet.

AVANTAGES DU ZUUL GÉRÉ

Capacité multi-cloud

En tant que logiciel open source, Zuul est conçu pour fonctionner quel que soit le pilote de votre infrastructure cloud, qu'il s'agisse d'OpenStack, Openshift, Kubernetes ou AWS EC2.

Dans le plan de contrôle, Zuul demande aux nœuds de test à usage unique d'exécuter les tâches Zuul. À la demande de Zuul, Nodepool lance à chaque fois un nœud propre pour exécuter des tests. La compatibilité de Zuul permet de choisir les nœuds parmi n'importe laquelle des infrastructures mentionnées ci-dessus, garantissant ainsi que le nœud sélectionné est le mieux adapté à votre pilote d'infrastructure.

En automatisant le processus de fusion de codes multi-cloud, les charges de travail sont coordonnées de manière efficace et efficiente, tandis que les flux de travail hybrides sont facilement gérés. Le processus DevOps est également intégré, favorisant l'innovation en permettant aux deux moitiés de se concentrer sur leurs compétences de base. Fondamentalement, les développeurs peuvent se concentrer sur le code plutôt que sur le processus de production, et l'équipe opérationnelle n'a plus besoin de jouer le rôle de gardien.

Control Plane

Gerrit

Configurations complètes

Zuul CI a eu une intégration étendue avec Gerrit et est connu pour son utilisation de Nodepool pour le lancement à la demande des serveurs requis. De plus, la dernière version, la version 3, prend en charge une gamme beaucoup plus large de cas d'utilisation et de plates-formes de développement. L'un des plus remarquables est son intégration avec GitHub. Le GitHub de Zuul CI la compatibilité est une étape supplémentaire dans la prise en charge des outils multi-référentiels dépendances par conséquent, s’avérant avantageux à la fois pour les développeurs et les utilisateurs.


Intégration Ansible

Grâce à son intégration OpenStack Ansible, Zuul permet aux utilisateurs de déployer leurs logiciels n'importe où entre le bare metal, les machines virtuelles, les conteneurs et les commutateurs réseau. Un autre avantage est que les mêmes playbooks Ansible peuvent être utilisés dans le déploiement de systèmes et l'exécution de tests, ce qui les rend reproductibles sans effets secondaires.

Grâce à la syntaxe claire d'Ansible et à sa nature basée sur les tâches, vous bénéficiez également d'un moyen plus simple d'orchestrer le déploiement d'une application. La bibliothèque de modules et l'extensibilité d'Ansible permettent aux utilisateurs d'orchestrer entre plusieurs machines, le tout à l'aide d'un langage simple, tout en garantissant que les tâches du playbook sont exécutées dans l'ordre approprié.

Ansible
OBTENEZ UNE CONSULTATION GRATUITE POUR MANAGED ZUUL AUJOURD’HUI !

DIFFÉRENCIATEURS CLÉS

Lorsque vous examinez les logiciels disponibles pour gérer votre Intégration continue / livraison continue pipeline, Zuul se démarque par ses capacités de co-gating. Le co-gating fonctionne de la même manière que le gating, la différence essentielle étant que plusieurs logiciels sont testés sur de nombreux référentiels, qui travaillent tous vers un objectif commun. L’objectif est de créer un environnement de test sécurisé, car non seulement un changement ne réussira pas s’il interrompt son projet, mais il ne réussira pas non plus s’il interrompt un autre projet.

Cross-Project Testing

Que le code dépende ou non de plusieurs autres systèmes, Zuul garantit qu'ils sont tous testés ensemble à l'aide d'une file d'attente partagée avant d'appliquer des correctifs, éliminant ainsi les complications liées aux tests multi-projets.

Cross-Project Dependencies

Pour tout référentiel connu de Zuul, les utilisateurs peuvent spécifier une dépendance, ce qui signifie qu'une modification dépend d'une autre. Il inclut les modifications apportées à d'autres projets avec des projets résidant dans différents systèmes, ainsi que les tests sur les branches des mêmes référentiels. Les tests de ces modifications peuvent être gérés via des pipelines dépendants et indépendants, garantissant ainsi que les dépendances sont toujours prises en compte.

Parallelization & Testing

Grâce aux connaissances de Zuul en matière de parallélisation, plusieurs contributeurs peuvent appliquer des modifications de code en même temps. Zuul lui-même sait non seulement où diriger les choses et l'ordre dans lequel elles doivent se dérouler, mais est également conscient des États dans lesquels elles doivent se présenter et de la manière dont elles doivent réagir aux résultats.

ZUUL ET NODEPOOL

Prise en charge d'un environnement multi-cloud

Nodepool agit comme un gestionnaire de pool compagnon qui a accès à plusieurs ressources d'infrastructure cloud. Grâce à Nodepool, Zuul peut exécuter des tâches sur les nœuds ou les pods les plus compatibles avec votre infrastructure. Par conséquent, AWS Zuul n'est qu'une des nombreuses autres options de déploiement disponibles pour les utilisateurs de Zuul. De plus, l'intégration de Nodepool avec Ansible facilite le processus d'automatisation et de fusion multi-cloud. Nodepool permet une prise en charge multi-cloud grâce à sa capacité à lancer des nœuds à partir des pilotes d'infrastructure suivants : pilote OpenStack, pilote statique, pilote Openshift, pilote Kubernetes, pilote Openshift Pods et pilote AWS EC2.

Vous voulez savoir comment une solution Managed Zuul peut améliorer votre jeu DevOps ?

TÉLÉCHARGEZ NOTRE LIVRE BLANC

ZUUL : UNE ALTERNATIVE À JENKINS

Dont Merge Broken Code

Même si Jenkins était autrefois la référence pour outils d'intégration continue les nouveaux outils CI/CD ont gagné du terrain ces dernières années. Il y a eu une augmentation notable du développement d’outils capables de fonctionner de manière fiable et de fusionner du code plus fréquemment. Ces outils ont eu pour objectif de servir un aspect du DevOps ou de compléter l'ensemble du cycle de développement logiciel. Ainsi, donnant lieu à de multiples alternatives à Jenkins et garantir que les options des utilisateurs ne se limitent plus à ce seul outil.

Zuul est l'un de ces outils qui gagne du terrain en raison de sa conception CI/CD efficace qui a simplifié le processus de fusion de code. Zuul intervient avec ses nombreux avantages, tels qu'une spécialité dans le contrôle de projet, de multiples configurations de test, une gamme dynamique de plates-formes de développement et bien d'autres encore. Il a non seulement fait ses preuves à grande échelle dans la gestion de la charge de travail d’OpenStack, mais est également capable de gérer efficacement des charges de travail de petite et moyenne taille.

Un compte Jenkins vs Zuul vous aidera à mieux comprendre comment Zuul peut être l'outil CI/CD du futur en réduisant les problèmes laissés par Jenkins. Zuul est même transformateur pour DevOps en permettant aux équipes de se concentrer sur ce qu'elles font le mieux et, par conséquent, en créant plus de place pour l'innovation.


ÉTUDES DE CAS SUPER-UTILISATEURS

Grâce à sa volonté de garantir que tous les composants de chaque version d'OpenStack fonctionnent ensemble, qui couvrent plus de 800 référentiels, et qu'OpenDev héberge actuellement 2 129 référentiels Git, OpenStack Zuul est idéal pour les organisations d’entreprise exécutant des environnements vastes et complexes. Cependant, les petites et moyennes entreprises sont également susceptibles de profiter des avantages de la gestion CI/CD de Zuul. Pour illustrer la flexibilité de Zuul, voici des extraits de superutilisateurs qui mettent en évidence son cas d'utilisation pour l'industrie automobile, à travers un Étude de cas BMW, ainsi que pour OpenLab un projet de test, de développement et de collaboration d'écosystème open source.

BMW

“Software has been an integral part of cars for several decades and has become one of the key enablers for many modern safety and comfort features. The amount of software required to implement all these features and complexity inducted by the many configuration options of current cars are constantly rising.”

- Says Tobias Henkel, a BMW software engineer.

“After using CI/CD systems for many years for an ever-increasing amount of projects, the limitations of the existing CI solutions were starting to impact our software development efforts. With the increasing size and complexity of today’s software projects, such as autonomous driving, the scaling capabilities of our CI/CD solution have become a crucial prerequisite for future development. The Zuul solution, especially after the release of version 3.0, fully supports all our requirements to provide a centrally hosted solution that can be shared by many internal software projects. It dramatically reduces operations overhead and frees up valuable developer time to improve all aspects of our CI system setup continuously.”

OpenLab

In the use case of OpenLab, Melvin Hillsman, a member of its governing board, explains, “Zuul is currently being used as an offering within OpenLab for projects/applications/tools that need CI gating and/or automation around testing. With the companion tool Nodepool, we’re able to keep OpenStack VMs available, speeding up the process for developers of testing code changes.

Primarily the benefit we see is the ease of integration with other projects. Along those lines, Zuul is beneficial in general for open source users who utilize Ansible for other problem domains because it allows for a common language/workflow to be utilized both within the CI/CD system and outside it, opening the door for other tools to be more easily integrated.”

Lorsque vous abordez l'amélioration du flux de travail de développement CI/CD de votre organisation, en utilisant des solutions complètes, flexibles et puissantes. Outils DevOps comme Zuul peut vous fournir le cadre même pour vos projets les plus difficiles. Et ce, que vous gériez un grand nombre de projets qui doivent également fonctionner en synergie les uns avec les autres ou que vous dirigiez un environnement petit mais très complexe.

Zuul Posts