Login
Newsletter
Werbung

Do, 17. Dezember 2015, 15:00

GitLab Continuous Integration

Mit der neuen Hauptversion 8 wurde GitLab um eine eigene Continuous Integration (CI)-Komponente ergänzt, die leichter zu benutzen ist als externe Lösungen.

Mit der neuen Hauptversion 8 wurde GitLab um eine eigene Continuous Integration (CI) Komponente ergänzt. Während man früher externe Lösungen, wie beispielsweise Jenkins, verwenden musste, kann man nun gepflegte Projekte leicht automatisiert übersetzen, testen, etc.

Doch wozu dient eine CI? CI findet hauptsächlich in der professionellen Anwendungsentwicklung Verwendung und automatisiert maßgeblich Teilschritte zur Programmübersetzung und Erhöhung der Quellcode-Qualität. Um mal einige praktikable Beispiele zu nennen:

  • Übersetzung von Teilprogrammen
  • Zusammensetzen des Gesamtprogramms
  • Tests von Teilprogrammen anhand Spezifikationen (Test-Units)
  • Datei-Replikation auf andere Systeme (z.B. andere Entwicklungssysteme)

Dabei integriert sich die CI in eine Versionsverwaltung, um sich beispielsweise auf die neuesten Commits zu beziehen oder automatisiert auf Code-Änderungen zu reagieren.

Ich habe bisher GitLab in Kombination mit Jenkins verwendet, um automatisiert RPM-Pakete für mehrere Enteprise Linux-Architekturen und -Versionen zu erstellen. Soweit ich das beurteilen kann (ich bin kein Anwendungsentwickler), bietet Jenkins gegenüber GitLab CI eindeutig mehr Flexibilität und die größere Feature-Auswahl, ist aber auch deutlich komplexer zu konfigurieren. Bei der Implementation meiner Lösung seinerzeits gab es bei mir viel Nachlesebedarf. GitLab CI ist simpler und dürfte sich deswegen vermutlich nicht für alle Kundengrößen eignen; für mein Szenario ist es allerdings eindeutig die bessere Wahl. Ich habe das hier vorgestellte Konzept binnen weniger Stunden implementiert und getestet.

Die meisten CI-Lösungen verwenden auf einem oder mehreren Build-Systemen entsprechende Agenten bzw. Runner-Prozesse, um die Prozesse (Code kompilieren, Dateien verteilen, ...) zu steuern. Während bei Jenkins hier eine Java-Anwendung zum Einsatz kommt, bietet GitLab CI mehrere Runner an.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung