gitlab-runner mit docker-compose installieren

English Deutsch

Wählen Sie zuerst ein Verzeichnis, in dem der Dienst residieren soll. Ich empfehle /opt/gitlab-runner. Erstellen Sie dann docker-compose.yml in diesem Verzeichnis mit folgendem Inhalt:

example-13.yaml
  gitlab-runner:
    image: 'gitlab/gitlab-runner:latest'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./config:/etc/gitlab-runner
    restart: unless-stopped

führen Sie dann diesen Befehl aus, um den Runner zu konfigurieren:

example-12.sh
docker-compose exec gitlab-runner gitlab-runner register

Es wird Sie nach Details zur GitLab-Instanz fragen, die Sie anhängen möchten. Sie finden diese Informationen unter https://<your-gitlab-domain>/admin/runners. Dieses Beispiel ist für meine GitLab-Instanz:

example-11.txt
Running in system-mode.

Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.techoverflow.net/
Enter the registration token:
Loo2lahf9Shoogheiyae
Enter a description for the runner:
[148a53203df8]: My-Runner
Enter tags for the runner (comma-separated):

Registering runner... succeeded                     runner=oc-oKWMH
Enter an executor: custom, docker-ssh, shell, virtualbox, docker-ssh+machine, docker, parallels, ssh, docker+machine, kubernetes:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Starten Sie nun den Runner, der mit der alten Konfiguration läuft (d.h. ohne angehängte GitLab-Instanz), neu:

example-10.sh

Nachdem das abgeschlossen ist, können Sie das Skript aus unserem vorherigen Beitrag Systemd-Service für Ihr docker-compose-Projekt in 10 Sekunden erstellen in dem Verzeichnis ausführen, in dem sich docker-compose.yml befindet.

example-9.sh

Dies wird automatisch einen systemd-Service generieren und den Runner starten (auch beim Booten). Für weitere Details siehe den entsprechenden Blogpost. Wenn Ihr Verzeichnis gitlab-runner heißt, wird die Service-Datei in /etc/systemd/systemd/gitlab-runner.service gespeichert, daher sind dies die Befehle, mit denen Sie den Service steuern können:

Beachten Sie, dass das Skript, das den systemd-Service erstellt, den Runner automatisch startet, sodass Sie ihn nicht manuell starten müssen!

Starten mit

example-8.sh

Neu starten mit

example-7.sh

Stoppen mit

example-6.sh

Status anzeigen:

example-5.sh

Protokolle anzeigen & folgen:

example-4.sh

Protokolle in less anzeigen:

example-3.sh

Siehe auch Mini systemd Cheat-Sheet

Siehe auch gitlab-runner für mehrere GitLab-Instanzen registrieren.

Beachten Sie, dass Sie auch

example-2.sh

verwenden können, um die Protokolle anzuzeigen (führen Sie dies aus dem Verzeichnis aus, in dem sich docker-compose.yml befindet).

Falls Sie eine Fehlermeldung wie

example-1.txt

in Ihren Jobs sehen, siehe Gitlab CI-Fehler beheben: error during connect: Post http://docker:2375/v1.40/auth: dial tcp: lookup docker on … no such host


Check out similar posts by category: GitLab