2016-05-12 30 views
10

現在、GitlabCIでビルドを開始すると、gitlab-runnerユーザーのもとで実行されています。私はそれを社内のユーザーに変更したいと思います。私はそれを解決する/etc/gitlab-runner/config.tomlへのパラメータが見つかりませんでした。Gitlab CIランナーユーザーの変更

私の現在の構成:

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

gitlab-runner runコマンドでは、ユーザーを指定できる---- userオプションを使用します。 –

答えて

18

は、あなたが見ることができるps auxの実行:

/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 

サービスはオプション--userで実行されています。

これを変更しましょう。それはどのディストリビューションに依存しますか。あなたはそれを実行しています。

/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 

ビンゴを、今度はこのファイルを変更してみましょう:

gitlab-runner uninstall 

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

リブートマシンにsystemd場合は、ファイルが存在しますまたはサービスを再ロードしてください(すなわちsystemctl daemon-reload)。

+0

私は似たようなものを探していたので、これらのcliは新しいと思いますが、cliはまだそれをサポートしていませんでした。ありがとう、素敵な答えです。 – PumpkinSeed

+0

うんGitlabCIは非常に速く動いていますが、新しい機能が追加されることもありますが、新しいバグが追加されることもありますので、常に注意してアップグレードしてください! –

+0

これは、 - FATAL:フラグは指定されていますが、定義されていません。-user' – letsc

1

私は最高のpactriceではない解決策を見つけたが、それを解決しました。私はssh executerとsshをlocalhostに使う必要があります。使用するユーザのauthorized_keysにgitlab-runner id_rsa.pubを追加する必要があります。私の延長コードがあります:

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"