現在、GitlabCI でビルドを開始すると、gitlab-runner ユーザーで実行されます。会社の内部ユーザーに変更したい。それを解決する /etc/gitlab-runner/config.toml へのパラメーターが見つかりませんでした。
私の現在の構成:
concurrent = 1
[[runners]]
name = "deploy"
url = ""
token = ""
executor = "shell"
現在、GitlabCI でビルドを開始すると、gitlab-runner ユーザーで実行されます。会社の内部ユーザーに変更したい。それを解決する /etc/gitlab-runner/config.toml へのパラメーターが見つかりませんでした。
私の現在の構成:
concurrent = 1
[[runners]]
name = "deploy"
url = ""
token = ""
executor = "shell"
実行すると次の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)。
が登録される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
将来の参考のために、セットアップの複製バージョンでテストを行っていました。ドメイン名が使用しているサーバーを指していない場合、gitlab はランナーをオフラインと見なす可能性があります。ドメインが指している IP で実行されている別の (コピーされた) インスタンスがあり、ファイアウォールがブロックされていない場合、gitlab-runner verify コマンドは、ランナーが動作していることを示します。
解決策は、127.0.0.1 を指すドメインをホスト ファイルに追加することです。gitlab インスタンスとランナーを再起動する必要があります。