GitLab.com でパイプライン実行を試してます。 実行待ち の状態が短くても数分、長ければ20分近く待たされることもあります。予想以上に時間がかかるな、という印象。

急ぎの時に焦るのも嫌なので、自分で建てたRunnerで実行するように変更してみました。

Runnerとは

RunnerとはCI/CDパイプラインのジョブ実行環境のことです。 GitLab.comでプロジェクトを作った場合、デフォルトではサービスとして提供されている Shared runners 上で実行されます。

で、「実行待ち」に時間がかかる理由はおそらくRunnerの空きが出るのを待っている時間だろうと推測して、自前で準備した Specific runners を使う設定に変えてみました。

やってみた結果

(ま当たり前なんですが)「実行待ち」の状態がほぼなくなりました。 🎉

手順メモ

  1. Runner を設定したいプロジェクトで、「設定 - CI/CD」を選ぶ。

  2. Runner を「展開」。

  3. Shared runners の Enable shared runners for this project を OFF にして、 Specific runners の And this registration token: の下に書かれている文字列をコピーして保存しておく。 画面

  4. 自分のPCにRunnerをインストールする。 (手順: https://docs.gitlab.com/runner/install/ )

  5. Runner の登録を行う。 (手順: https://docs.gitlab.com/runner/register/ )
    今回はこんな感じで設定しました:

    sudo gitlab-runner register \
         --non-interactive \
         --executor "docker" \
         --docker-image "node:latest" \
         --url https://gitlab.com/ \
         --description "test-01" \
         --tag-list "docker" \
         --run-untagged="true" \
         --docker-pull-policy "if-not-present" \
         --registration-token "「And this registration token:」に書かれていた文字列"

かわかみしんいち。島根県津和野町在住のフリーランスエンジニア。複合現実(Mixed Reality)と3DUXでおもちゃを作るのが趣味。 https://github.com/ototadana