42

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

私の現在の構成:

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

7 に答える 7

78

実行すると次の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

それでは、これを変更しましょう。それは、どのディストリビューションに依存します。あなたはそれを実行しています。systemd の場合、次のファイルがあります。

/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

マシンを再起動するか、サービスをリロードします (つまりsystemctl daemon-reload)。

于 2016-11-20T11:04:30.283 に答える
5

が登録されるgitlab-runnerと(はい、ユーザーgitlab-runnerと作業ディレクトリの下にインストールされ/home/gitlab-runnerます)、次を実行してランナーのユーザーを変更できます

gitlab-runner uninstall
gitlab-runner install --working-directory <existing-path> --user <any-existing-user>

# eg: gitlab-runner install --working-directory /home/ec2-user --user ec2-user

その後、サービスを再起動します

service gitlab-runner restart

/etc/systemd/system/gitlab-runner.service注:上記のようにサービスが再起動されると更新されるため、これを編集する必要はありません

構成が反映されているかどうかを確認するには、実行します

ps aux | grep gitlab
于 2020-07-03T20:58:49.013 に答える
0

将来の参考のために、セットアップの複製バージョンでテストを行っていました。ドメイン名が使用しているサーバーを指していない場合、gitlab はランナーをオフラインと見なす可能性があります。ドメインが指している IP で実行されている別の (コピーされた) インスタンスがあり、ファイアウォールがブロックされていない場合、gitlab-runner verify コマンドは、ランナーが動作していることを示します。

解決策は、127.0.0.1 を指すドメインをホスト ファイルに追加することです。gitlab インスタンスとランナーを再起動する必要があります。

于 2018-04-09T09:24:26.177 に答える