GitLab + GitLab Runner(Docker) の構築6

GitLab Runner(Docker)の構築

GitLab CI/CD、GitLab Runner とは

GitLab の CI/CD を利用するには、GitLab Runner が GitLab に登録されていなければなりません。CI/CDがどのように動くかを簡単に述べると、

  1. Gitリポジトリが更新される
  2. パイプラインが記述された .gitlab-ci.yml の内容に従ってジョブを実行する
  3. ジョブの結果は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
  • インスタンス
  • カスタム

詳しくは公式サイトのドキュメント

執行者 | GitLab
GitLab product documentation.

をご覧下さい。

今回は Docker Executor を使用したインストール方法を説明します。

Docker インストール

公式サイトのドキュメント

Install Docker Engine on Ubuntu
Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multip...

を参考に 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 インストール

公式のドキュメント

GitLab公式リポジトリを使ってGitLab Runnerをインストールします。 | GitLab
GitLab product documentation.

を参考にインストールします。

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 の登録について記事にします。

タイトルとURLをコピーしました