2021年2月23日火曜日

gitlab-runner をコンテナで動作させる方法

概要

過去 にプロセスで動作させる方法を紹介しました
今回はコンテナで起動する方法を紹介します

環境

  • Gitlab-ee 13.8.4
  • gitlab-runner 13.8.0

gitlab-runner コンテナの起動

  • docker volume create gitlab-runner-config
  • 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:latest

設定ファイルは永続化するためにコンテナボリュームを作成します

register する

  • docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register

コンテナ版でも register は必要になります
register する際に先程作成したコンテナボリューム上に設定ファイルが配置されるようにします

untagged jobs も動作するようにする

テスト用の gitlab-ci.yml を作成した際によくタグなしで定義することがあります
デフォルトだとタグなしはジョブ実行の対象外なのでタグなしでもジョブが実行されるようにします
設定は登録した Runner の設定変更から可能です

動作確認

適当に .gitlab-ci.yml を作成して試しましょう
なお以下は shell executor を想定しています

  • vim .gitlab.ci.yml
stages:
    - test
test_job:
  stage: test
  script:
    - hostname

おまけ: docker executor として登録する場合には

register 時に「docker」を指定することはもちろんですが --privileged モードも必要になります
コンテナボリューム内に保存した設定ファイルを直接編集して再起動してあげましょう

  • 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

参考サイト

0 件のコメント:

コメントを投稿