2016-05-12 14 views
10

Derzeit, wenn ich einen Build in GitlabCI starte, läuft es unter Gitlab-Runner Benutzer. Ich möchte es den internen Benutzer des Unternehmens ändern. Ich habe keinen Parameter für den /etc/gitlab-runner/config.toml gefunden, der das löst.Ändern Gitlab CI Runner Benutzer

Meine aktuelle Konfiguration:

concurrent = 1 
[[runners]] 
    name = "deploy" 
    url = "" 
    token = "" 
    executor = "shell" 
+0

Der Befehl gitlab-runner run nimmt eine Benutzeroption ----, die es ermöglicht, den Benutzer anzugeben. –

Antwort

18

ps aux Laufen können Sie sehen:

/usr/bin/gitlab-ci-multi-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner 

Dienst mit der Option läuft --user.

Also lass uns das ändern, es hängt davon ab, welche Distro. Du läufst es. Wenn systemd, gibt es eine Datei:

/etc/systemd/system/gitlab-runner.service:

[Service] 
StartLimitInterval=5 
StartLimitBurst=10 
ExecStart=/usr/bin/gitlab-ci-multi-runner "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--se 

Bingo, lassen Sie uns diese Datei jetzt ändern:

gitlab-runner uninstall 

gitlab-runner install --working-directory /home/ubuntu --user ubuntu 

Neustart der Maschine oder laden Sie den Service neu (zB systemctl daemon-reload), et voilà!

+0

Ich denke diese Art von CLI ist neu, weil ich nach etwas ähnlichem gesucht habe, aber der CLI hat es noch nicht unterstützt. Danke und nette Antwort. – PumpkinSeed

+0

Yeah GitlabCI bewegt sich sehr schnell, sie fügen neue Features hinzu, aber manchmal auch neue Bugs, also upgrade immer mit Vorsicht! –

+0

Dies liefert - 'FATAL: Flag vorausgesetzt, aber nicht definiert: -user' – letsc

1

fand ich eine Lösung, die nicht am besten pactrice ist aber es gelöst. Ich muss den ssh-Ausführer und SSH zu localhost verwenden. Es ist erforderlich, dem Benutzer authorized_keys gitlab-runner id_rsa.pub hinzuzufügen, was Sie verwenden möchten. Es ist meine erweiterten Code:

concurrent = 1 

[[runners]] 
    name = "deploy" 
    url = "" 
    token = "" 
    executor = "ssh" 
    [runners.ssh] 
    user = "user" 
    host = "localhost" 
    port = "22" 
    identity_file = "/home/gitlab-runner/.ssh/id_rsa"