Warum eine Migration von Jenkins nach GitLab?

Vier Dinge ändern sich mit dem Umstieg, und sie hängen zusammen: Wo Repository, Pipeline und Monitoring in einer Plattform liegen, entfaellt die Pflege der Verbindungen zwischen ihnen.

Vereinheitlichung und Integration: GitLab CI ist Teil der GitLab-Plattform und bietet eine engere Integration von Repository-Management, CI/CD und Monitoring. Dadurch wird eine durchgängige Pipeline geschaffen, die die gesamte Entwicklung bis zur Bereitstellung abdeckt.

Weniger Wartungsaufwand: Da GitLab CI keine Plugins benötigt, sinkt der Wartungsaufwand. Sicherheitsupdates und Funktionsverbesserungen sind in der zentralen GitLab-Verwaltung enthalten.

Skalierbarkeit: GitLab Runner lassen sich einfach in Docker-Containern betreiben und unterstützen sowohl lokale als auch Cloud-Umgebungen, was für eine skalierbare und flexible CI/CD-Infrastruktur sorgt.

Kosteneffizienz: Die Kombination von GitLab und GitLab CI kann Lizenz- und Betriebskosten reduzieren, da keine separaten Server für Jenkins erforderlich sind und der gesamte Prozess zentralisiert wird.

Was waren die Herausforderungen der Migration?

Vier Punkte entscheiden, ob eine Migration ruhig verläuft. Zwei davon sind technisch, zwei betreffen das Team:

Datenmigration und Job-Konvertierung: Jenkins verwendet ein spezielles Job- und Pipeline-Format, das nicht direkt in GitLab CI übertragbar ist. Scripts und Job-Definitionen müssen daher manuell angepasst und neu definiert werden.

Infrastrukturkompatibilität: Jenkins und GitLab CI sind unterschiedlich in ihrer Architektur und Verwaltung. Jenkins läuft typischerweise auf dedizierten Servern, während GitLab CI direkt in GitLab integriert ist. Das bedeutet oft Anpassungen an der bestehenden Infrastruktur.

Schulungsaufwand für Teams: Entwickler und Ops-Teams müssen in der Nutzung von GitLab CI geschult werden, insbesondere in Bezug auf Unterschiede in der Pipeline-Syntax und im Build-Management.

Rechte- und Benutzerverwaltung: Unterschiedliche Modelle zur Rechteverwaltung erfordern ein Umdenken in der Benutzersteuerung und im Rollenkonzept.

Wie fangen wir an mit der Migration von Jenkins zu GitLab CI?

Bestandsaufnahme und Planung: Analysieren Sie Ihre aktuelle Jenkins-Umgebung und erfassen Sie alle Pipelines, Skripte und Integrationen. Erstellen Sie eine Prioritätenliste und einen Migrationsplan.

Vorbereitung der GitLab CI-Umgebung: Richten Sie GitLab Runner und GitLab CI-Konfigurationen ein, um eine Testumgebung zu schaffen, in der die neu definierten Jobs zunächst ohne Auswirkungen auf den Produktionsbetrieb getestet werden können.

Konvertierung von Jobs und Pipelines: Übertragen Sie Jenkins-Jobs und Pipelines nach GitLab CI. Nutzen Sie die .gitlab-ci.yml-Datei, um Pipelines zu definieren, und berücksichtigen Sie dabei alle bestehenden Build-Skripte, Schritte und Abhängigkeiten.

Testphase und Validierung: Führen Sie ausführliche Tests der migrierten Pipelines durch, um sicherzustellen, dass sie korrekt funktionieren. Verifizieren Sie die korrekte Ausführung und Ergebniskonsistenz der Jobs.

Schulung und Rollout: Schulen Sie Ihr Team in der Nutzung von GitLab CI und führen Sie die migrierten Pipelines stufenweise in den Produktionsbetrieb ein. Überwachen Sie die Ausführung und nehmen Sie, falls erforderlich, Anpassungen vor.

Abschaltung von Jenkins: Sobald die Migration erfolgreich abgeschlossen und GitLab CI vollständig im Einsatz ist, kann Jenkins abgeschaltet und die Serverressourcen können anderweitig genutzt werden.

Ein Praxisbeispiel – unsere Success-Story:

Einer unserer Kunden, ein mittelständisches Softwareunternehmen, stand vor der Frage, wie es seine CI/CD-Pipeline wieder in den Griff bekommt: Die Jenkins-Umgebung war über die Jahre komplexer und wartungsintensiver geworden. Nach der Analyse der Anforderungen hat sich das Unternehmen gemeinsam mit uns für die Migration zu GitLab CI entschieden.

Nach der Umstellung hat der Kunde vier Veränderungen gemessen:

den Wartungsaufwand gesenkt: Die IT-Abteilung berichtete, dass sich der Wartungsaufwand um 30 % reduziert hat, da GitLab CI durch seinen All-in-One-Ansatz die bisher auf mehrere Jenkins-Plugins verteilten Funktionen standardmäßig integriert.

die Teamproduktivität gesteigert: Entwickler gaben an, dass sie mit GitLab CI besser zusammenarbeiten konnten. Der Übergang zu einer zentralisierten Plattform verbesserte die Transparenz der Projekte und führte zu einer 15 % schnelleren Time-to-Market für neue Features.

die Build-Zeiten verkürzt: Durch die native Integration von GitLab CI konnten die Build-Zeiten um 20 % verkürzt werden, da weniger Zeit für das Herunterladen und Synchronisieren externer Plugins erforderlich war.

und die Fehlerrate reduziert: Das Unternehmen stellte fest, dass durch die Einführung von Code-Review- und Merge-Request-Funktionen in GitLab CI die Fehlerrate in den finalen Builds um 10 % gesenkt werden konnte.

Die vier Zahlen stammen aus diesem einen Projekt und sind keine Studie. 30 Prozent weniger Wartungsaufwand heißt dort: Es wurden Plugins gepflegt, die GitLab CI von Haus aus mitbringt. Wie viel bei Ihnen zusammenkommt, hängt daran, wie viel Plugin-Logik heute in Ihren Jenkins-Jobs steckt.

Entwickler nach GitLab Migration

Das Feedback

„Die Entscheidung, von Jenkins zu GitLab CI zu wechseln, hat unsere Entwicklungsprozesse revolutioniert. Dank der konsolidierten Oberfläche und der nahtlosen Integration in unser bestehendes System sparen wir jetzt nicht nur viel Zeit, sondern sind auch in der Lage, qualitativ hochwertige Software schneller auf den Markt zu bringen. Unser Team profitiert enorm von der Transparenz und den Automatisierungsmöglichkeiten, die GitLab CI bietet. Die Migration war unkompliziert und wurde von den Experten der Comquent Academy professionell begleitet. Die Einsparungen und Produktivitätsgewinne haben unsere Erwartungen übertroffen!“
Fabian S., Leiter Softwareentwicklung

Sie haben Jenkins im Einsatz und wollen die Migration nicht nebenher herausfinden.

Dann übernehmen wir die Schritte, die in diesem Beitrag stehen: Bestandsaufnahme, Vorbereitung der Umgebung, Konvertierung, Testphase, Rollout und die Abschaltung des alten Servers. Sie entscheiden, wie viel davon Ihr Team selbst übernimmt.

Wir sehen uns Ihre aktuelle Umgebung an und erstellen daraus einen Migrationsplan, der zu ihr passt. Die Umsetzung übernehmen wir vollständig, samt Umstellung Ihrer Pipelines und Anpassung an GitLab CI.

Am Ende liegt Ihre CI/CD in einer Plattform, und die Pflege der Verbindungen zwischen mehreren Werkzeugen entfällt. Für den Teil, den Ihr Team danach selbst trägt, gibt es unsere Schulungen zur neuen Umgebung.

Stellen Sie Ihre Prozesse um und nutzen Sie GitLab CI in vollem Umfang.

    Datenschutzbestimmungen

    Wir sind nur eine Nachricht entfernt!

    Jenkins Beratung der Comquent

    Comquent GmbH

    Lindberghstraße 7
    82178 Puchheim bei München
    Germany

    +49 (0) 89 / 9393 3840
    academy@comquent.de

    Contact Us
    First
    Last
    DSGVO-Einwilligung

      Ihre Anfrage

      Trainings & Workshops

      Comquent GmbH

      Lindberghstraße 7
      82178 Puchheim bei München
      Germany

      Phone: +49 (0) 89 9393 3840
      Email: academy@comquent.de

        Deine Bewerbung

        Comquent Academy

        Lindberghstraße 7
        82178 Puchheim bei München
        Germany

        Phone: +49 (0) 89 9393 3840
        Email: academy@comquent.de

          Bewerbungsunterlagen hochladen

          Lindberghstraße 7
          82178 Puchheim bei München
          Germany

          Phone: +49 (0) 89 / 9393 3840
          Email: academy@comquent.de