iX 08/18

GitLab-CI-Setup mit Vagrant und Ansible

Autor:

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

Wie lässt sich GitLab mit passen der CI-Pipeline vollständig automatisiert aufsetzen? Von Let’s-Encrypt-Zertifikaten über die Container-Registry bis zur Konfiguration der Runner gibt es einige Stolperfallen. Dieser Artikel zeigt, wie diesen mit Infrastructure-as-Code-Werkzeugen wie Ansible der Schrecken genommen werden kann.

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.

Allerdings ist TravisCI eine Software aus der Cloud. Oft möchte man die Kontrolle über den CI-Server aber 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.

Vollständiger Artikel