Technologieaustausch

GitLab CI/CD realisiert die automatisierte Projektbereitstellung

2024-07-11

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

1 Einführung in GitLab CI/CD

  • GitLab CI/CD ist eine Reihe von Tools für kontinuierliche Integration (Continuous Integration), Continuous Delivery (Continuous Delivery) und Continuous Deployment (Continuous Deployment), die in GitLab für die Softwareentwicklung integriert sind. Dieses System ermöglicht es Entwicklungsteams, den Softwarebereitstellungsprozess zu automatisieren, vom Erkennen, Erstellen, Testen und schließlich der Bereitstellung von Codeänderungen in Produktionsumgebungen.

  • Kontinuierliche Integration (CI)

    • Jedes Mal, wenn Code an ein Versionskontrollsystem (z. B. GitLab Warehouse) übertragen wird, erstellt und testet das System ihn automatisch. Dadurch wird sichergestellt, dass Codeänderungen schnell in den Master-Branch integriert werden, während Integrationsfehler entdeckt und behoben werden.
  • Kontinuierliche Lieferung (CD)

    • Aufbauend auf kontinuierlicher Integration automatisieren Sie die Bereitstellung verifizierter Codeänderungen in einer Vorproduktions- oder produktionsbereiten Umgebung weiter. Diese Phase kann komplexere Testsuiten, Leistungstests usw. umfassen, um sicherzustellen, dass die Software für die Bereitstellung in der Produktion bereit ist. Für die tatsächliche Bereitstellung ist jedoch möglicherweise eine manuelle Genehmigung erforderlich.
  • Kontinuierliche Bereitstellung (CD)

    • Basierend auf Continuous Delivery ist der Bereitstellungsprozess vollständig automatisiert und Code, der alle Tests besteht, kann ohne manuelle Eingriffe direkt in der Produktionsumgebung bereitgestellt werden. Das bedeutet, dass jede Codeänderung getestet wird und schnell und sicher beim Benutzer ankommt.

2 GitLab CI/CD und GitLab Runner

  • GitLab CI/CD ist eine Reihe von Diensten, die in die GitLab-Plattform integriert sind und die Erstellungs-, Test- und Bereitstellungsprozesse im Softwareentwicklungslebenszyklus verwalten. Es liest die Konfigurationsdatei .gitlab-ci.yml im Projekt, um verschiedene Aufgaben (Jobs) und Prozesse (Pipelines) zu definieren, um die Ziele der kontinuierlichen Integration und kontinuierlichen Bereitstellung zu erreichen.

  • GitLab Runner ist der eigentliche Worker oder die Ausführungs-Engine, die diese CI/CD-Prozesse implementiert. Es handelt sich um ein separat bereitgestelltes Programm, das auf verschiedenen Betriebssystemen (wie Linux, macOS, Windows) installiert und an GitLab-Instanzen registriert und gebunden werden kann. Sobald ein neuer Commit den GitLab CI/CD-Prozess auslöst, plant GitLab den registrierten Runner, die in .gitlab-ci.yml definierten Aufgaben auszuführen.

  • Einfach ausgedrückt ist GitLab CI/CD der Planer und Koordinator, der dafür verantwortlich ist, zu definieren, wann und wie Aufgaben ausgeführt werden sollen, während GitLab Runner die Einheit ist, die diese Aufgaben speziell ausführt. Läufer können gemeinsam genutzt (für mehrere Projekte) oder dediziert (für nur ein einzelnes Projekt) verwendet werden und je nach Projektanforderungen mit unterschiedlichen Ausführungsumgebungen konfiguriert werden (z. B. durch die Verwendung von Docker-Containern zur Isolierung der Build-Umgebung).

3 GitLab-Runner

3.1 Installation

  • Nehmen Sie Centos als Beispiel
  • Gitlab-Runner-Installationspaket herunterladenSuchen Sie in der Spalte „Paket“ nach „gitlab-runner“. Sie können diese Version herunterladen: el/7/x86_64/gitlab-runner-16.6.0-1.x86_64.rpm
  • Der Installationsbefehl lautet wie folgt
  •   # 安装
      sudo rpm -ivh gitlab-runner-16.6.0-1.x86_64.rpm	
      # 查看是否安装成功
      gitlab-runner -h