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.
GitLab CI/CD
GitLab CI/CD is an integrated part of the GitLab platform that provides continuous integration, delivery, and deployment capabilities. Although GitLab CI/CDn'est pas exclusivement un GitOps outil, vous pouvez le configurer pour implémenter des GitOps principes, en particulier lorsque vous l'utilisez pour des déploiements Kubernetes.
GitOps soutien
| Area | Capacités des outils |
|---|---|
Git comme source unique de vérité |
GitLab CI/CD utilise les référentiels Git pour stocker à la fois le code de l'application et les configurations d'infrastructure. Toutes les modifications apportées au système sont effectuées via Git, ce qui garantit un historique complet et une piste d'audit. |
Configuration déclarative |
GitLab Les pipelines CI/CD sont définis dans un fichier .gitlab-ci.yml, qui est une configuration déclarative stockée dans le référentiel Git. Les manifestes Kubernetes, les diagrammes Helm ou d'autres fichiers d'infrastructure sous forme de code (IaC) peuvent être stockés dans le même référentiel afin de définir l'état souhaité de l'infrastructure. |
Pipelines automatisés |
GitLab CI/CD déclenche automatiquement des pipelines lorsque les modifications sont transférées vers le référentiel. Ces pipelines peuvent inclure des étapes de création, de test et de déploiement d'applications. |
Intégration avec Kubernetes |
GitLab CI/CD fournit une intégration native à Kubernetes et prend en charge GitOps les déploiements de type « C » sur des clusters Kubernetes. Il peut créer et gérer automatiquement des ressources Kubernetes en fonction de la configuration dans Git. |
Gestion de l'environnement |
GitLab CI/CD prend en charge la définition de plusieurs environnements (tels que la mise en scène et la production) sous forme de code. Les déploiements dans ces environnements peuvent être automatisés ou nécessiter une approbation manuelle, conformément aux GitOps pratiques en vigueur. |
Examiner les demandes |
GitLab peut créer automatiquement des environnements temporaires pour les demandes de fusion, similaires aux environnements de prévisualisation dans d'autres GitOps outils. Cela facilite l'examen et le test des modifications avant les fusions. |
Déploiement continu |
GitLab Le CI/CD peut être configuré pour déployer automatiquement les modifications apportées aux clusters Kubernetes lorsque les modifications sont fusionnées avec des branches spécifiques. |
IaC |
GitLab CI/CD prend en charge l'intégration avec des outils tels que Terraform et permet de gérer l'infrastructure CloudFormation en tant que code. Les définitions d'infrastructure peuvent être contrôlées par version en même temps que le code de l'application. |
Observabilité et surveillance |
GitLab Le CI/CD fournit des fonctionnalités intégrées de surveillance et d'observabilité, notamment l'intégration avec Prometheus et Grafana. |
Analyse de sécurité |
GitLab CI/CD includes built-in security scanning tools that can be integrated into the CI/CDpipeline pour renforcer la sécurité dans le cadre du GitOps flux de travail. |
Registre des conteneurs |
GitLab Le CI/CD inclut un registre de conteneurs intégré pour une intégration fluide de la gestion des images de conteneurs dans le GitOps flux de travail. |
Automatique DevOps |
La DevOps fonctionnalité Auto dans les GitLab CI/CD can automatically configure CI/CD pipelines qui suivent les GitOps principes des déploiements de Kubernetes. |
Flux de travail d'approbation |
GitLab Le CI/CD prend en charge les processus d'approbation des déploiements, qui fournissent des promotions contrôlées entre les environnements. |
Gestion des secrets |
GitLab CI/CD provides features to securely manage and use secrets within CI/CDpipelines. |
Versionnage et versions |
GitLab CI/CD supports automatic versioning and release management as part of the CI/CDprocessus. |
Annulations |
GitLab CI/CD permet de revenir facilement aux versions précédentes si des problèmes sont détectés après le déploiement. |
Journaux d'audit |
GitLab Le CI/CD fournit des journaux d'audit complets pour toutes les actions visant à soutenir l'aspect traçabilité de. GitOps |
Pipelines multiprojets |
GitLab CI/CD prend en charge des GitOps flux de travail complexes qui s'étendent sur plusieurs projets ou référentiels. |
ChatOps |
GitLab CI/CD prend en charge les ChatOps intégrations, qui permettent la collaboration et les opérations via des interfaces de chat. |
Gestion des clusters Kubernetes |
GitLab CI/CD fournit des fonctionnalités permettant de gérer les clusters Kubernetes directement depuis l'interface. GitLab |
Cependant GitLab CI/CD is not exclusively designed for GitOps, it can be used effectively to implement GitOps practices, especially for teams that already use GitLab as their primary development platform. Its integrated approach, which combines source control, CI/CD, et la gestion de Kubernetes, en font un outil puissant pour la mise en œuvre de flux de travail. GitOps
La principale différence entre les GitLab CI/CD and dedicated GitOps tools such as Argo CD or Flux is that GitLab provides a more comprehensive platform that includes source control management, issue tracking, and other development tools along with its CI/CD capacités. Cela le rend particulièrement adapté aux équipes qui ont besoin d'une all-in-one solution capable de mettre en œuvre GitOps des pratiques au sein d'un système de développement plus large.
Pour plus d'informations sur le GitLab CI/CD et son architecture, consultez la documentation du GitLab CI/CD