GitLab Runner 構築(docker環境編

昨日に引き続き、今日はシス管な日でした。

GitLab でCIを回そうとするとそのCIを実行する環境を用意しないといけなくて、その環境を用意してました。 環境自体にも色々種類があって、俗に言うExecutorsなんですが、今回は docker の環境構築をしてました。 ちなみに shell の環境はもう持っていて、一週間くらい前にcontainerで建てました。


container in container (docker in podman) で建てるか container in VM で建てるかの選択肢がありましたが、container in container で建てるのは少し難しそうだったので今回は container in VM でいきました。 結局VMを駆逐することができないしスケールも行いにくいのでうーん、という気持ちになりましたがもうやってしまったものは仕方ない...

で、構築自体ですが gitlab-runner を apt でインストールしてコマンド叩けば終わりです。 ちょっと詰まったところといえば、gitlab-runner のデーモンが上手く起動してなくて、原因が/var/gitlab/gitlab-runnerが存在しないみたいな感じでした。 その後は GitLabのCIの書き方に苦労しつつ、Golang のtest, fmt, build をサンプルで書いてみました。 publicにしてあるので誰でも見れます。ぜひ見ていってください。リンク先

実は来週あたりに k8s を導入していく予定なのでdocker環境ではなくk8sを使う方にシフトしていくと思いますが、scheduleを組んだ通知系のCIはdocker環境で... などと使い分けはできそうです。