GitLab Runner(Docker)の構築
GitLab CI/CD、GitLab Runner とは
GitLab の CI/CD を利用するには、GitLab Runner が GitLab に登録されていなければなりません。CI/CDがどのように動くかを簡単に述べると、
- Gitリポジトリが更新される
- パイプラインが記述された .gitlab-ci.yml の内容に従ってジョブを実行する
- ジョブの結果はGitLabに返される
となります。
さて、インストールする GitLab Runner のバージョンは、GiLab本体よりも新しいと動作しません。古い場合は後方互換性が確保されているとのことです。ですので、元々ある GitLab に GitLab Runner を追加して構築する場合はインストールするバージョンについて注意が必要です。また、GitLabと同じサーバに同居可能ですが、我が家は別の Ubuntu 22.04 サーバーにインストールしています。
GitLab Runner の動作モード
GitLab Runner には動作モードがあります。
- Shared Runner:GitLab全体で共有して利用
- Group Runner:グループで共有して利用
- Project Runner:プロジェクトのみで利用
それぞれ、GitLabの「全体」「グループ」「プロジェクト」のどこから登録するかによって動作モードが変わってきます。例えば、Shared Runner は「管理エリア」の「設定」「CI/CD」「Runner」から登録すれば全体で使うことができる Runner として登録できますし、プロジェクト専用の Runner を作る場合は、各プロジェクトの「設定」「CI/CD」「Runner」から登録することで専用のRunnerを作ることができます。グループの場合もグループから設定することで、そのグループ内のプロジェクトがグループ登録されたRunnerを使うことができます。
今回は、Shared Runner として、GitLabの全プロジェクトが共有して使うことができる Runner を作成しました。
Executor の選択
GitLab Runner の実行ジョブは Linux だけではなく Windows だったり仮想マシンだったりと様々な環境に即した実行方法が必要となります。この実行方法が Executor と呼ばれるもので、以下のような Executor が用意されています。
- SSH
- Shell
- VirtualBox
- Docker
- Docker Autoscaler
- Dockerマシン(自動スケーリング)
- Kubernetes
- インスタンス
- カスタム
詳しくは公式サイトのドキュメント
をご覧下さい。
今回は Docker Executor を使用したインストール方法を説明します。
Docker インストール
公式サイトのドキュメント

を参考に Ubuntu 22.04 にインストールします。
1.Dockerリポジトリ追加
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
2.Dockerインストール
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3.動作確認
sudo docker run hello-world
GitLab Runner インストール
公式のドキュメント
を参考にインストールします。
1.GitLab リポジトリを追加
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
2.GitLab Runner インストール
sudo apt-get install gitlab-runner
GitLab Runner 実行のための sudo 設定
gitlab-runner ユーザに対してパスワードなしの sudo 実行権限を与えます。
sudo visudo
gitlab-runner ALL=(ALL:ALL) ALL gitlab-runner ALL=(ALL) NOPASSWD: ALL
以上で、GitLabに CI/CD Runner を登録するための事前準備は終了です。次回は、いよいよ GutLab Runner の登録について記事にします。