2016-05-12 16 views
10

GitlabCI'da bir yapı oluşturmaya başladığımda, şu anda gitlab-runner kullanıcısı altında çalışıyor. Şirketin dahili kullanıcısını değiştirmek istiyorum. Bunu çözen /etc/gitlab-runner/config.toml dosyasına herhangi bir parametre bulamadım.Değiştir Gitlab CI Çalıştırıcısı kullanıcı

Benim şu anki yapılandırma:

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

Gitlab koşucusu çalıştırma komutu, kullanıcının belirlenmesine izin veren bir ---- kullanıcı seçeneği alır. –

cevap

18

Gördüğünüz ps aux Running:

/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 

Servis seçeneği --user ile çalışıyor.

Şimdi bunu değiştirelim, bu ne kadar dağıtıcıya bağlıdır. sen koşuyorsun

/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, şimdi bu dosyayı değiştirmesine izin:

gitlab-runner uninstall 

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

yeniden başlatma makine systemd Eğer bir dosya varsa veya servisi yeniden yükleyin (örn. systemctl daemon-reload), et voilà!

+0

Bence bu türden bir parça yeni, çünkü benzer bir şey aradım, ama bu klip henüz desteklemiyordu. Teşekkür ederim ve güzel cevap. – PumpkinSeed

+0

Evet GitlabCI çok hızlı hareket ediyor, yeni özellikler ekliyor, ancak bazen yeni hatalar var, bu yüzden her zaman dikkatli olun! –

+0

Bu döndürür - "FATAL: sağlanan ancak tanımlı olmayan bayrak: -kullanıcı" – letsc

1

Ben en iyi pactrice olmayan bir çözüm buldular ama onu çözdüm. Ssh executer ve ssh'i localhost'a kullanmam gerek. Kullanmak istediğiniz kullanıcının yetkili_keysine gitlab-runner id_rsa.pub eklemeniz gerekir. Benim genişletilmiş kod vardır:

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" 
İlgili konular