Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Jenkins X
Jenkins X est une CI/CD plateforme open source native pour le cloud qui implémente les GitOps principes des environnements Kubernetes. Bien que Jenkins X ne soit pas exclusivement un GitOps outil tel qu'Argo CD ou Flux, il intègre des GitOps pratiques dans ses flux de travail.
GitOps soutien
| Area | Capacités des outils |
|---|---|
Flux de travail centré sur Git |
Jenkins X utilise les référentiels Git comme source principale de vérité pour le code et la configuration des applications. Toutes les modifications apportées aux applications et à l'infrastructure sont effectuées via Git. |
L'environnement en tant que code (EAc) |
Les environnements (tels que la mise en scène et la production) sont définis sous forme de code dans les référentiels Git. Cela permet de contrôler les versions et de revoir les configurations de l'environnement. |
CI/CD Pipelines automatisés |
Jenkins X configure automatiquement des CI/CD pipelines pour les projets. Ces pipelines sont définis en tant que code (pipeline en tant que code) et stockés dans Git. |
Natif de Kubernetes |
Jenkins X est spécialement conçu pour les environnements Kubernetes. Il utilise des ressources Kubernetes et des définitions de ressources personnalisées (). CRDs |
Environnements de prévisualisation |
Jenkins X crée automatiquement des environnements temporaires pour les pull requests. Il permet de consulter et de tester facilement les modifications avant les fusions. |
Promotion entre les environnements |
Jenkins X utilise une GitOps approche pour promouvoir les applications entre les environnements (par exemple, de la mise en scène à la production). Les promotions sont gérées à l'aide de pull requests afin de garantir des processus de révision et d'approbation appropriés. |
Gestion du tableau de bord |
Jenkins X utilise des diagrammes Helm pour empaqueter et déployer des applications. Les graphiques sont contrôlés par version dans les référentiels Git. |
Gestion automatique des versions |
Jenkins X gère automatiquement la gestion des versions des applications et des versions. Il utilise le versionnement sémantique et génère des notes de version. |
ChatOps intégration |
Jenkins X prend en charge ChatOps les opérations courantes. Cela correspond aux GitOps principes de l'automatisation et de la collaboration. |
Extensibilité |
Cet outil fournit un système de plugins pour étendre les fonctionnalités. Il permet l'intégration avec divers outils natifs du cloud. |
Infrastructure en tant que code (IaC) |
Jenkins X prend en charge Terraform, CloudFormation AWS Cloud Development Kit (AWS CDK), et d'autres outils IaC pour définir et gérer l'infrastructure. Les définitions d'infrastructure sont contrôlées par version parallèlement au code de l'application. |
Annulations automatisées |
Jenkins X prend en charge les annulations automatiques si des problèmes sont détectés après le déploiement. |
Gestion des secrets |
L'outil s'intègre à des solutions externes de gestion des secrets pour traiter les informations sensibles en toute sécurité. |
Observabilité |
Jenkins X fournit une intégration avec les outils de surveillance et de journalisation pour l'observabilité. |
Support multicloud |
Jenkins X est conçu pour fonctionner avec différents fournisseurs de cloud et environnements sur site. |
Collaboration en équipe |
Cet outil encourage la collaboration grâce à des flux de travail basés sur Git et à des pull requests. |
Feedback continu |
L'outil fournit des informations rapides sur les modifications par le biais d'environnements de test et de prévisualisation automatisés. |
DevOps meilleures pratiques |
Jenkins X met en œuvre DevOps les meilleures pratiques par défaut, y compris GitOps les principes. |
Configuration déclarative |
L'outil utilise des configurations déclaratives pour définir les applications et les environnements. |
Mises à niveau automatiques |
Jenkins X fournit des outils pour automatiser les mises à niveau de la plateforme Jenkins X elle-même. |
Jenkins X met en œuvre ces GitOps principes pour créer une solution CI/CD complète pour Kubernetes. Il vise à automatiser et à rationaliser l'ensemble du processus de livraison des logiciels, de la validation du code au déploiement en production, tout en respectant les GitOps pratiques. Ce faisant, il aide les équipes à réaliser des déploiements plus rapides, plus fiables et plus cohérents dans des environnements cloud natifs.
La principale différence entre Jenkins X et des outils tels qu'Argo CD ou Flux réside dans le fait que Jenkins X fournit une CI/CD solution plus complète, incluant l'automatisation des builds et la gestion des pipelines, tout en intégrant les GitOps principes de déploiement et de gestion de l'environnement. Cela le rend particulièrement adapté aux équipes qui ont besoin d'une all-in-one solution qui couvre à la fois les aspects CI et CD dans un GitOps cadre unique.
Pour plus d'informations, consultez la documentation de Jenkins X.
Architecture
Le schéma suivant illustre un flux de travail GitOps sur CD piloté par Jenkins X. Pour des informations détaillées, consultez la documentation de Jenkins
où :
-
Étape 1 : fusion par pull request (PR). Un développeur crée une pull request qui inclut des modifications apportées aux manifestes Kubernetes, aux graphiques Helm ou au code d'application stocké dans un référentiel Git. Après examen et approbation, le PR est fusionné dans la branche principale et met à jour l'état souhaité dans le contrôle de source.
-
Étape 2 : synchronisation du référentiel. Jenkins X déclenche automatiquement un CI/CD pipeline lorsqu'il détecte le changement. Le pipeline construit, teste et promeut l'application dans différents environnements (par exemple, la mise en scène et la production) en utilisant des GitOps principes.
-
Étape 3 : Déploiement vers des espaces de noms cibles Jenkins X met à jour les référentiels d'environnement (test et production) avec les nouvelles versions de l'application. Le cluster concilie automatiquement les modifications en extrayant les derniers manifestes de Git et en déployant l'application dans les espaces de noms appropriés.