/var/log/study

つまり雑記

GitLab CI Runner をProxy環境下で動かす

前提

とあるネットワークのセグメント配下に設置されたVM -> GitLabへの通信はProxyを通す必要があり、かつそのVMがGitLab CI Runnerの役割を果たしている時の話し

準備

docs.gitlab.com

上記のページに沿ってci runnerをインストールしたらOK

ハマりどころ

インストール後はci runnerをgitlabに登録することになる。ただしProxyの設定をしておかないと登録はできるがGitLabからCIをキックできずにハマる。

なのでその次のステップの登録はちょっとまって欲しい。

Proxyの設定

gitlab.com

上記のissueのコメントの Adding Proxy variables to the runner config, so it get's builds assigned from the gitlab behind the proxy に書いてあるとおり、 /etc/systemd/system/gitlab-runner.service.d/http-proxy.conf などを作って、systemd側からproxyの設定をgitlab ci runnerに渡してあげる必要がある

Proxyの設定を登録したら 

docs.gitlab.com

上記の通り、gitlab ci runnerを登録したら良い

与太話

自分がgitlab ci runnerをproxy配下で動かそうと試行錯誤している途中で、gitlabのデータがおかしくなって、gitlab ci runnerがweb uiから登録解除というか削除できなくなってしまった。

そのような場面に陥ったら以下のissueを参考にすると良い。CLI側からもci runnerを登録解除できる。登録解除に必要なTokenなどは /etc/gitlab-ci-multi-runner/config.toml を参照したら見つけられるはず。

gitlab.com