Login
Newsletter
Werbung

Do, 17. Dezember 2015, 15:00

GitLab Continuous Integration

Runner-Einstellungen

Für die Runner-Anwendung empfiehlt sich die Erstellung eines dedizierten System-Benutzers. Für diesen Benutzer müssen auch ein Passwort gesetzt und ein SSH-Key generiert werden. Beim SSH-Key ist wichtig, dass keine Passphrase angegeben wird, um ein passwortloses Steuern zu ermöglichen. Diese Informationen werden nachher in GitLab hinterlegt, um den Runner-Prozess zu kontrollieren:

# useradd --comment "GitLab service user" --system -m su-gitlab-ci
# passwd su-gitlab-ci
# su - su-gitlab-ci
$ ssh-keygen

Für GitLab CI stehen mehrere Clients zur Verfügung. Neben dem offiziellen, in Go entwickelten, Client gibt es auch eine Scala/Java- und Node-Implementation.

Ich persönlich habe mich für den offiziellen Client entschieden. Neben Windows, OS X und FreeBSD unterstützt dieser auch Debian- und Red Hat Enterprise Linux-basierende Distributionen. Alternativ gibt es auch distributionsunabhängige Binärpakete. Für unterstützte Linux-Distributionen empfiehlt GitLab die Verwendung eines Skripts zur automatischen Konfiguration der Paketquellen. Ich habe mich dafür entschieden, diese Konfiguration selbst vorzunehmen und die folgenden Repository-URLs zur Konfiguration der Paketquellen verwendet:

Release/Architektur URL
Enterprise Linux 7, x86_64 https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/7/x86_64
Enterprise Linux 6, x86_64 https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/6/x86_64
Enterprise Linux 6, i686 https://packages.gitlab.com/runner/gitlab-ci-multi-runner/el/6/i686
Fedora 23, x86_64 https://packages.gitlab.com/runner/gitlab-ci-multi-runner/fedora/23/x86_64
Fedora 23, i686 https://packages.gitlab.com/runner/gitlab-ci-multi-runner/fedora/23/i686
Fedora 22, x86_64 https://packages.gitlab.com/runner/gitlab-ci-multi-runner/fedora/22/x86_64
Fedora 22, i686 https://packages.gitlab.com/runner/gitlab-ci-multi-runner/fedora/22/i686

Der GPG-Key für Paketsignierung ist unter https://packages.gitlab.com/gpg.key zu finden.

Zur Installation genügt der folgende Yum-Aufruf:

# yum install gitlab-ci-multi-runner

Nachdem alle Runner installiert wurden, müssen diese mit GitLab registriert werden. Dazu wird das gitlab-runner Kommando auf dem Build-System ausgeführt. Während der Konfiguration werden die CI-URL und der dazugehörige Token angegeben. Darüber hinaus können pro System Tags vergeben werden. Insbesondere bei Projekten, die auf unterschiedlichen Systemen erstellt werden sollen (z.B. RPM-Paketebau) ist das äußerst hilfreich. Zur Steuerung des Runners stehen lokale Shells, SSH, Parallels (für VMs) oder Docker zur Verfügung. Bei der Verwendung von SSH müssen gültige Login-Daten und der zuvor generierte SSH-Key angegeben werden.

# sudo gitlab-runner register
 Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
 http://gitlab.localdomain.loc/ci
 Please enter the gitlab-ci token for this runner:
 xxx
 Please enter the gitlab-ci description for this runner:
 [gitlab.localdomain.loc]:
 Please enter the gitlab-ci tags for this runner (comma separated):
 rpm764,generic
 INFO[0035] 7ab95543 Registering runner... succeeded
 Please enter the executor: ssh, shell, parallels, docker, docker-ssh:
 ssh
 Please enter the SSH server address (eg. my.server.com):
 gitlab.localdomain.loc
 Please enter the SSH server port (eg. 22):
 22
 Please enter the SSH user (eg. root):
 su-gitlab-ci
 Please enter the SSH password (eg. docker.io):
 myPassword
 Please enter path to SSH identity file (eg. /home/user/.ssh/id_rsa):
 /home/su-gitlab-ci/.ssh/id_rsa
 INFO[0143] Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung