gitlab-runnerを設定する
- 2021/07/02 手順番号がおかしくなっていたため修正
はじめに
5月にgitlabをDockerで構築するところまで実施したので、今度はgitlab-runnerを導入してみた。 そのときの導入手順等メモしておく。
gitlab runnerとは
GitLabにはbuildやtest、deploy、releaseなど一連の作業を自動実行するCI/CD機能があるが、 その機能と組み合わせて使うものがGitLab Runner。GitLab Runnerはこれらのジョブを実行してくれるツール。 リポジトリへのcommitを検知してGitLab Runnerがjobを実行し、実行結果をGitLabから確認したりできる。
本記事の表記
- コマンドラインのプロンプトは
$
や#
で表記する$
は一般ユーザで実行することを表す#
は特権ユーザで実行することを表す
##
のあとはコメントを表す
環境
作業環境は下記の通りGitLabを導入したサーバ上で行う。
- ハードウェア
項目 | 値 | 備考 |
---|---|---|
OS | Ubuntu 18.04 | |
CPU | 4 core | 本家推奨は4core以上 |
MEM | 4 GB | 本家によるとは4GB以上必須 |
手順
基本的な手順は構築したGitLabにログインし、 管理エリア->Runner->ランナーのインストール手順を表示する
に遷移すると
記載されているが記載しておく。
システムのバイナリをダウンロード
$ sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
実行権限付与
$ sudo chmod +x /usr/local/bin/gitlab-runner
GitLab CIのユーザを作成
$ sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
サービスとしてインストール
$ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
実行
$ sudo gitlab-runner start
Runnerの登録
$ sudo gitlab-runner register --url https://<任意のドメイン>/ --registration-token <トークン> Runtime platform arch=amd64 os=linux pid=21668 revision=c1edb478 version=14.0.1 Running in system-mode. Enter the GitLab instance URL (for example, https://gitlab.com/): [https://<任意のドメイン>/]: Enter the registration token: [XXXXXX]: ## トークン Enter a description for the runner: [gitlab]: Enter tags for the runner (comma-separated): shared ## 任意のタグを付与する Registering runner... succeeded runner=XXXXXXXX Enter an executor: ssh, virtualbox, docker+machine, docker-ssh+machine, custom, docker, parallels, shell, kubernetes, docker-ssh: ERROR: Invalid executor specified Enter an executor: docker, parallels, shell, ssh, virtualbox, docker+machine, docker-ssh+machine, custom, kubernetes, docker-ssh: docker Enter the default Docker image (for example, ruby:2.6): ubuntu:20.04 ## dockerの場合イメージは自身の好みで。centosがよければそちらを使うでもよし Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
あとがき
今回はインストールまで。ここからが本番で .gitlab-ci.yml
とかの設定方法とか諸々試してメモしていく予定。