LoginSignup
2
4

More than 3 years have passed since last update.

GitLabCIを導入するときにハマった事・疑問に思った事などのメモ

Posted at

以下は全てrunnerをmacOSのマシンにしてる。

導入・起動法

GitLab側の設定はこちらの記事がわかりやすかった。
(androidのプロジェクトの話になっているけど、.gitlab-ci.ymlのテンプレート作成部分以外はどの言語のプロジェクトでも参考になると思う。)
https://qiita.com/tetsukay/items/91a03b38af8c7eec9551

Runnerの生成は公式ドキュメントに従う。
https://docs.gitlab.com/runner/register/index.html

runnerの設定をrunnerしてるマシンから見るには


cat ~/.gitlab-runner/config.toml

で見れる。

ひとつのマシンで複数回 gitlab-runner register を呼んでしまったけどそれぞれの設定はどこで見るの?

  • 上記の~/.gitlab-runner/config.tomlの中の[[runners]]]の項目がgitlab-runner registerで作ったrunnerと1対1対応になっている。
  • また、GitLab上ではSettings > CI/CD > Runnersで見れる。
  • ちなみにconfig.tomlの[[runners]]]を削除したり、nameを変更したりしてもGitLabのSettingsから見える方は特に変更が反映されることはないっぽい。

gitlab-runnerが動いているか見たい

runnerrunnerにしてるマシンのターミナルから


gitlab-runner status

で確認できる。

Runnerはちゃんと動いてるはずなのになぜか全然実行されない!

プロジェクトに追加した.gitlab-ci.ymlファイルの中でジョブにtagsパラメーターを設定しているかチェックしよう。

  • 設定していない場合 → Settings > CI/CD > Runnersで各Runnerの設定の編集ボタンを押し、「Run untagged jobs」にチェックを入れる

    • これにチェックが入っていると、プロジェクトに追加した.gitlab-ci.ymlファイルの中でtagsパラメーターを設定していないジョブを実行できるようになる。
    • 私はこれに気が付かなくて5時間以上溶かしました。
  • 設定している場合 → .gitlab-ci.ymlファイルの中でジョブに設定したtagsパラメーターの値と、Runnerのtagの値が一致しているかチェック

    • 一致していなかったらRunnerのタグの設定か.gitlab-ci.ymlファイルのどちらかを修正して一致させる。
    • Runnerのタグの設定はSettings > CI/CD > Runnersで各Runnerの設定の編集ボタン から編集できる。

tagとは

GitLabCIを使うためにプロジェクトに追加する.gitlab-ci.ymlファイルの中で各ジョブにtagsフィールドを足すことでタグをつけることができる。Runnerでは、自身の持つtagと同じタグを持つジョブだけ実行出来る。複数RunnerをRunnerを登録しているときにジョブごとに実行Runnerを振り分けたりするためにある?

テストビルド時にrunnerがサブモジュールを見れていない?

.gitlab-ci.ymlのビルドステージのジョブ、.gitlab-ci.ymlのトップに以下の変数を設定する

variables:
    GIT_SUBMODULE_STRATEGY: "recursive"

参考になるもの

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4