GitLab CI Runner をProxy環境下で動かす
前提
とあるネットワークのセグメント配下に設置されたVM -> GitLabへの通信はProxyを通す必要があり、かつそのVMがGitLab CI Runnerの役割を果たしている時の話し
準備
上記のページに沿ってci runnerをインストールしたらOK
ハマりどころ
インストール後はci runnerをgitlabに登録することになる。ただしProxyの設定をしておかないと登録はできるがGitLabからCIをキックできずにハマる。
なのでその次のステップの登録はちょっとまって欲しい。
Proxyの設定
上記の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の設定を登録したら
上記の通り、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
を参照したら見つけられるはず。