Artikel
von Patrick Froch

GitLab CI einrichten

Nach dem ich mich schon sehr lange mit Softwarequalität beschäftige, habe ich mir nun endlich die Zeit genommen, mir Continuous Integration anzusehen. Da ich bereits seit einer ganzen Weile GitLab einsetzt, liegt es nahe GitLab Continuous Integration zu verwenden. In diesem Artikel möchte ich auf die Einrichtung eingehen. Es wird natürlich kein allumfassendes Werk zum Thema CI, dazu ist das Thema viel zu umfangreich. Es soll aber einen Einstieg in die Thematik geben.

Für die Umsetzung nutze ich die Docker Images der GitLab Community Edition, da dies die Einrichtung erheblich vereinfacht.

Installation

Die Installation ist hier ganz gut beschrieben. Da es aber nicht einfach mit dem Kopieren der Dateien getan ist, hat der Artikel einen Anspruch von 5/5 bekommen. Er richtet sich also eher an Profis. Ich kann hier nicht detailliert auf die Konfiguration von GitLab eingehen, da dies den Rahmen sprengen würde.

docker-compose

Hier die von mir verwendete docker-compose.yml für GitLab und die GitLab-Runner.

Es wird hier ein Zertifikat von Let's Encrypt verwendet. Dieses liegt im Unterordner config/ssl/ und wird in Zeile 16 zusammen mit den anderen Konfigurationsdateien eingebunden. In Zeile 8 muss die entsprechende Domain eingegeben werden.

config/gitlab.rb

Wie gesagt, werde ich nicht auf die einzelnen Optionen von GitLab eingehen. Hier aber die Konfigurationsdatei, wie ich sie ungefähr benutze.

Die Werte, wie Benutzernamen, Passwörter, Urls, Pfade, usw., wurden verändert und müssen an eure Befürfnisse angepasst werden.

Runner

Als nächstes benötigen wir die Konfiguration für die Runner. Diese wird in der Datei config-runner/config.toml gespeichert. GitLab ergänzt diese Datei beim Registireren der Runner um weitere Einträge.

In Zeile 12 muss der Token für das manuelle Erstellen von shared Runnern eingetragen werden. Diesen findet man im Adminbereich unter Runner. In Zeile 11 muss die Domain angepasst werden.

Starten

Nun können wir die Contaier mit folgendem Befehl starten.

Es wird es einige Zeit dauern, bis GibLab erstellt wurde. Will man GitLab als Dienst starten, hängt man an den Befehl einfach ein -d an.

Runner registrieren.

Als letztes wird der Runner bei unserem GitLab registiert. Im Handbuch steht ein Befehl, der einen neuen Container startet und diesen registriert. Da sich der Container aber danach immer wieder beendet, logge ich mich in den bereits gestarteten Container ein.

Jetzt kann man den Container registrieren. Da er bereits läuft, kann er sofort verwendet werden.

Auch muss natürlich die Url und der Token wieder angepasst werden.

Nun sollte der Runner in GitLab zur Verfügung stehen und für einzelne oder alle Projekte freigegeben werden können. Wird nun in einem solchen Projekt eine Konfigurationsdatei (.gitlab-ci.yml) eingefügt, sollte die Verarbeitung automatisch starten.

Ich helfe gerne

Da die Anforderungen im Bereich Softwareentwicklung immer komplexer werden, fällt es zunehmend schwerer, fortwährend höchste Qualität zu erbringen. Ich beschäftige mich seit Jahren mit Themen wie Softwarequalität, Softwarestrukturierung und Event-driven Development. Ich habe hierzu einige Veranstaltungen (u. a. bei Sebastian Bergmann) besucht und selbst mehrere Vorträge (z.B. auf der Contao Konferenz oder dem Contao Barcamp) gehalten. Gerne helfe ich anderen Entwicklern bei der Einführen entsprechender Strukturen und Techniken in ihren Firmen.

Zurück

Kommentare

Aufgrund der unklaren Rechtslage durch die DSGV habe ich mich entschlossen, die Kommentare bis auf Weiteres zu deaktivieren.