この記事は Ubuntu22.04 へ gitlab-runner(以下runner) をインストールする内容となっています。
gitリポジトリマネージャーは、LANに構築したgitlab-ce(以下Gitlab)を想定しています。
Gitlab(mygitlabce.com)での操作
Gitlabへ管理者でログイン > mainmanu > 管理者 > CI/CD > インスタンスrunnerを登録 > Show runner installation and registration instructions と進みます
開いた Install a runner の中の項目を選択します。
Environment は Linux を選択します。
Architecture は runnerが動作しているPCのプロセッサがインテル系であればamd64、raspberryPiなどのarm系であればarm、amr64 を選択します。
Install a runner 内の項目は
- Environment
- Architecture
の二つで、Architecture 項目内容は、Environment での選択により変わります。
Environment での項目は Linux macOS Windows Docker kubernetes AWS です。
Install a runner 選択項目
runnerをインストールするPCでの作業
runnerをインストールするPCで Install a runner の中の Download and install binary からのコマンドを実行していきます。
以下のコマンドは例ですので、必ず 各々の環境で表示された Download and install binary からのコマンドで実行して下さい。
$ sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 54.7M 100 54.7M 0 0 5480k 0 0:00:10 0:00:10 --:--:-- 6875k
$ sudo chmod +x /usr/local/bin/gitlab-runner
$ 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
Runtime platform arch=amd64 os=linux pid=1267 revision=d540b510 version=15.9.1
[]が表示されている入力項目は、エンターキー投下で[]内の値が入ります。
$ sudo gitlab-runner register --url https://mygitlabce.com/ --registration-token 7777777777777777777
Runtime platform arch=amd64 os=linux pid=1372 revision=d540b510 version=15.9.1
Running in system-mode.
Enter the GitLab instance URL (for example, https://gitlab.com/):
[https://mygitlabce.com/]:
Enter the registration token:
[7777777777777777777]:
Enter a description for the runner:
[RUNNER]:
Enter tags for the runner (comma-separated):
test
Enter optional maintenance note for the runner:
maintenance note
WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens. For more information, see https://gitlab.com/gitlab-org/gitlab/-/issues/380872
Registering runner... succeeded runner=7777777
Enter an executor: shell, docker-ssh+machine, instance, kubernetes, ssh, virtualbox, docker+machine, custom, docker, docker-ssh, parallels:
docker
Enter the default Docker image (for example, ruby:2.7):
debian:11
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"
設定ファイル /etc/gitlab-runner/config.toml が作成されます。
sudo gitlab-runner register で以下のエラーが出た場合
ERROR: Registering runner... failed runner=7777777 status=couldn't execute POST against https://mygitlabce.com/api/v4/runners: Post "https://mygitlabce.com/api/v4/runners": x509: certificate signed by unknown authority
PANIC: Failed to register the runner.
Ubuntu22.04 の場合
runner をインストールするPCの /etc/gitlab-runner/certs/ へ、 Gitlabが動作しているPCの /etc/gitlab/gitlab.rb 中 nginx[‘ssl_certificate’] = で指定している .crt ファイルをコピーします。
/etc/gitlab-runner/certs ディレクトリが存在しない場合はディレクトリを新規作成します。
再度、sudo gitlab-runner register を実行します。
Macの場合
runner をインストールするMacの /etc/gitlab-runner/certs/ へ、 Gitlabが動作しているPCの /etc/gitlab/gitlab.rb 中 nginx[‘ssl_certificate’] = で指定している .crt ファイルをコピーします。
/etc/gitlab-runner/certs ディレクトリが存在しない場合はディレクトリを新規作成します。
.crt ファイルをコピー後、Command to register runner 内のコマンドに –tls-ca-file=/etc/gitlab-runner/certs/[コピーした.crtファイル] を追加して実行します。
実行後、設定ファイル .gitlab-runner/config.toml が作成されます。
~ % gitlab-runner register --url https://mygitlabce.com/ --registration-token 7777777777777777777 --tls-ca-file=/etc/gitlab-runner/certs/[コピーした.crtファイル]