💡
コンテナでgitlab-runnerを構築
本当は、もう一台別のPCを使って構築したいんだけど・・・
ものを増やせないので、コンテナでgitlab-runnerを構築することにした。
OS:Ubuntu22.04
GitLab:15.11.2
GitLab の URLの後ろに/helpをつけると確認できる
なので、gitlab-runner は 15.11.1を使うことにする。
参照したページはこちら
Ubuntuにはすでにdockerが使える状態になっているので、
Option 2: Use Docker volumes to start the Runner container
ここから始める
利用するgitlab-runnerのバージョン "v15.11.1" は、こちらのページで確認する
1.docker volumeを作成する
docker volume create gitlab-runner-config
2.上記で作成したvolumeを使用したGitLab Runnerコンテナをスタートさせる
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:v15.11.1
※データ永続化のためにvolumeを使用する
runnerのregister をする
volumeを使用するため、コンテナvolume上に設定ファイルが配置されるようにする(バージョンにも注意)
docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:v15.11.1 register
登録に必要な情報を入力していく
Runtime platform arch=amd64 os=linux pid=7 revision=0d8a024e version=15.11.1
Running in system-mode.
Enter the GitLab instance URL (for example, https://gitlab.com/):
http://hogehoge ⇦ GitLab の URL を入力
Enter the registration token:
xxxxxxxxxxxxxxxx ⇦ GitLab のプロジェクトの setting-CI/CD-Runners に記載されている registration token を入力
Enter a description for the runner:
[8047566d505f]: docker-runner ⇦ お好みの名称を入力
Enter tags for the runner (comma-separated):
ci-check ⇦ お好みのタグ名を入力
Enter optional maintenance note for the runner:
docker-container ⇦ お好みのランナー名称を入力
Registering runner... succeeded runner=hogehoge
Enter an executor: ssh, docker-autoscaler, docker+machine, docker-ssh+machine, instance, custom, docker, parallels, shell, virtualbox, kubernetes, docker-windows, docker-ssh:
docker ⇦ 今回はexecuterとしてdockerを使うので、dockerと入力
Enter the default Docker image (for example, ruby:2.7):
Ubuntu22.04 ⇦ 使いたいDockerイメージ、この場合は、Ubuntu22.04を指定
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
コンテナボリューム内に保存した設定ファイルを直接編集する場合
docker cp gitlab-runner:/etc/gitlab-runner/config.toml .
vim config.toml
docker cp ./config.toml gitlab-runner:/etc/gitlab-runner/config.toml
docker restart gitlab-runner
こちらも参考にしました。
gitlab-runner をコンテナで動作させる方法
概要 環境 gitlab-runner コンテナの起動 register する untagged jobs も
hawksnowlog.blogspot.com
動作確認も忘れずに。
.gitlab-ci.yml
stages:
- check
test_job:
stage: check
script:
- pwd
- echo "$CI_PROJECT_URL"
正常終了すればOKです。
dockerもgitlabのページも英語
英語の勉強がてら日本語訳にしようかな?
Discussion