GitLab mit passender Continuous-Integration-Pipeline automatisiert aufsetzen

Bei der Installation von GitLab-CI gibt es unter anderem Hürden wegen TLS-Zertifikaten. Mit Ansible und Vagrant lässt sich ein automatisiertes Setup einrichten.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
GitLab mit passender Continuous-Integration-Pipeline automatisiert aufsetzen
Lesezeit: 23 Min.
Von
  • Jonas Hecht
Inhaltsverzeichnis

Wie lässt sich GitLab mit passender Continuous-Integration-Pipeline vollständig automatisiert aufsetzen? Seit einiger Zeit fällt die Wahl des Continuous-Integration-Servers (CI) nicht mehr automatisch auf Jenkins. Dass gerade bei Open-Source-Projekten beliebte TravisCI nutzt beispielsweise eine prägnante und leicht zu lernende YAML-Syntax für die Definition der CI-Pipelines. Dagegen wirken die oft ausufernden Pipeline-Definitionen in der Groovy-Syntax der Jenkins-Files komplex. Zusätzlich eröffnen diese mit der Zeit die nächste Wartungshölle – neben dem eigentlichen Source Code der Anwendungen.

iX-TRACT
  • Wer seine Git-Repositorys mit GitLab verwaltet, kann gleichzeitig die integrierte CI/CD-Pipeline GitLab-CI verwenden.
  • GitLab-CI lässt sich über das Infrastructure-as-Code-System Ansible automatisiert installieren und deskriptiv konfigurieren.
  • Die Verwendung von Infrastructure as Code erlaubt, die Setup-Anweisungen in einer Versionsverwaltung abzulegen und somit für Teammitglieder transparent zu machen.

Allerdings ist TravisCI eine Software aus der Cloud. Oft möchte man die Kontrolle über den CI-Server nicht vollständig abgeben. An dieser Stelle bietet sich der Einsatz von GitLab-CI an. Das stellt die CI-Pipeline direkt als Teil des Git-Servers bereit. Ein zentraler Git-Server ist meist sowieso notwendig innerhalb einer Continuous-Integration-Pipeline. Der Integrationsaufwand zwischen Git- und CI-Server entfällt demzufolge.

Mehr zum Thema GitLab

Obwohl inzwischen mit der GitLab-Omnibus-Installation ein ausgereifter Prozess bereitsteht, bleiben für das komplette Setup einige Hindernisse bestehen. Das fängt schon bei den notwendigen Zertifikaten für die Domain an, die für GitLab grundsätzlich verwendet werden sollte. Denn ist der Server nicht öffentlich erreichbar, funktioniert das automatische Generieren von Let’s-Encrypt-Zertifikaten leider nicht.