Partage de technologie

GitLab CI/CD réalise un déploiement de projet automatisé

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1 Introduction à GitLab CI/CD

  • GitLab CI/CD est un ensemble d'outils d'intégration continue (Continuous Integration), de livraison continue (Continuous Delivery) et de déploiement continu (Continuous Deployment) intégrés dans GitLab pour le développement de logiciels. Ce système permet aux équipes de développement d'automatiser le processus de livraison de logiciels, depuis la détection, la création, les tests et finalement le déploiement des modifications de code dans les environnements de production.

  • Intégration Continue (CI)

    • Chaque fois que le code est transmis à un système de contrôle de version (tel que l'entrepôt GitLab), le système le construit et le teste automatiquement. Cela garantit que les modifications de code sont rapidement intégrées dans la branche principale tandis que les erreurs d'intégration sont découvertes et corrigées.
  • Livraison continue (CD)

    • En vous appuyant sur l’intégration continue, automatisez davantage la livraison des modifications de code vérifiées dans un environnement de pré-production ou prêt pour la production. Cette étape peut inclure des suites de tests plus complexes, des tests de performances, etc. pour garantir que le logiciel est prêt à être déployé en production, mais le déploiement réel peut nécessiter une approbation manuelle.
  • Déploiement continu (CD)

    • Basé sur une livraison continue, le processus de livraison est entièrement automatisé et le code qui réussit tous les tests peut être déployé directement dans l'environnement de production sans intervention manuelle. Cela signifie que chaque modification de code est testée et parvient aux utilisateurs rapidement et en toute sécurité.

2 GitLab CI/CD et GitLab Runner

  • GitLab CI/CD est un ensemble de services intégrés à la plateforme GitLab qui gère les processus de création, de test et de déploiement dans le cycle de vie du développement logiciel. Il lit le fichier de configuration .gitlab-ci.yml dans le projet pour définir diverses tâches (Jobs) et processus (Pipelines) afin d'atteindre les objectifs d'intégration continue et de déploiement continu.

  • GitLab Runner est le véritable moteur de travail ou d'exécution qui implémente ces processus CI/CD. Il s'agit d'un programme déployé séparément qui peut être installé sur différents systèmes d'exploitation (tels que Linux, macOS, Windows) et enregistré et lié aux instances GitLab. Une fois qu'un nouveau commit déclenche le processus GitLab CI/CD, GitLab planifiera le Runner enregistré pour exécuter les tâches définies dans .gitlab-ci.yml.

  • En termes simples, GitLab CI/CD est le planificateur et le coordinateur, chargé de définir quand et comment effectuer les tâches, tandis que GitLab Runner est l'entité qui effectue spécifiquement ces tâches. Les coureurs peuvent être partagés (desservant plusieurs projets) ou dédiés (desservant un seul projet) et peuvent être configurés avec différents environnements d'exécution en fonction des besoins du projet (par exemple, l'utilisation de conteneurs Docker pour isoler l'environnement de construction).

3 GitLab Runner

3.1Installation

  • Prenons Centos comme exemple
  • télécharger le package d'installation de gitlab-runner, recherchez gitlab-runner dans la colonne Package, vous pouvez télécharger cette version el/7/x86_64/gitlab-runner-16.6.0-1.x86_64.rpm
  • La commande d'installation est la suivante
  •   # 安装
      sudo rpm -ivh gitlab-runner-16.6.0-1.x86_64.rpm	
      # 查看是否安装成功
      gitlab-runner -h