まずGitLab の WEB UI にログインして作成したプロジェクトを表示ます。 「設定」から「CD/CI」をクリックします。 「Runner」を表示します。 このプロジェクトを識別するためのタグ(demo-pj01)を設定して、「プロジェクトRunner」の作成をクリックします。 「Linux」を選択して、ステップ1のコマンドをコピーします。 GitLab Runner のサーバーで root になりコピーしたコマンドを入力します。
root@git-runner:~# gitlab-runner register --url https://<gitlabのfqdn> --token glrt-DnR0u35gt9tiKvFFn-MWR286MQpwOjIKdDozCnU6MQ8.01.170fcyrqe Runtime platform arch=amd64 os=linux pid=170536 revision=ac71f4d8 version=18.10.0 Running in system-mode.途中聞かれる質問は基本的にそのままで大丈夫ですが、executor の指定は今回Ubuntuなのでshellにしています。
Enter the GitLab instance URL (for example, https://gitlab.com/): [https://<gitlabのfqdn>]: Verifying runner... is valid correlation_id=01KRWQ1H85FFAE7EBBXKXFK530 runner=DnR0u35gt runner_name=git-runner Enter a name for the runner. This is stored only in the local config.toml file: [git-runner]: Enter an executor: ssh, parallels, docker+machine, kubernetes, docker-autoscaler, instance, virtualbox, docker, docker-windows, custom, shell: shell 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" root@git-runner:~#登録が成功すると、「新しい Runner を登録しました」 と表示されますので「Runner を表示する」をクリックします。 登録された Runner が確認できるようになりました。 実際に連携して動いてくれるかを確認します。
今回は以下のファイルをプロジェクトに push してコマンドが実行されるかどうかで確認します。
.gitlab-ci.yml
stages:
- check
runner-test-job:
stage: check
tags:
- demo-pj01 # ここを登録したタグ名に合わせます
script:
- echo "===================================="
- echo "GitLab Runner (demo-pj01) の動作確認に成功しました!"
- echo "===================================="
- whoami
- date
これをプッシュして、GUIで「ビルド」の「ジョブ」を見てみると処理が流れて・・・エラーになります。なんやねん。と思って調べたらどうやら Ubuntu の初期設定で CD/CI のような非対話式の処理でログアウトが行われるとエラーと返してしまうようです。
今回は検証なので以下のコマンドで該当の処理を行うファイルを削除します。
rm /home/gitlab-runner/.bash_logout削除したら、GUI にもどって右上にある「再実行」のボタンからやり直します。
今度はうまくいきましたね。 それでは、次回はこれを使ってプロジェクトに push されたことをトリガーにして、何か処理を行うものを作ってみたいと思います。








