プロジェクトに利用可能なランナーが複数ある場合、gitlab ciはどのランナーを使用するかをどのように決定しますか?gitlabはジョブに使用するランナーをどのように決定するのですか
私はomnibus gitlab 8.6.6-eeをインストールしており、2人のランナーが設定されています。ランナーは、異なるコンピューター上で実行されていることを除いて、同じです(ドッカー画像、設定など)。
両方ともアイドル状態で、いずれかのジョブが実行できるジョブがある場合は、どちらが実行されますか?
プロジェクトに利用可能なランナーが複数ある場合、gitlab ciはどのランナーを使用するかをどのように決定しますか?gitlabはジョブに使用するランナーをどのように決定するのですか
私はomnibus gitlab 8.6.6-eeをインストールしており、2人のランナーが設定されています。ランナーは、異なるコンピューター上で実行されていることを除いて、同じです(ドッカー画像、設定など)。
両方ともアイドル状態で、いずれかのジョブが実行できるジョブがある場合は、どちらが実行されますか?
Rubinumの回答に追加するには、「最初の」ランナーは、すべての条件を満たす最初にチェックインするランナーになります。たとえば、ラベルによって特定のジョブが実行されているランナーが制限される可能性があります。
ランナーは、X秒ごとにgitlabサーバーに問い合わせて、ビルドがあるかどうかをチェックします。ビルドキューに入れられ、複数の出会いの基準があるかどう、最初はコメントに答えるために
アップデートを勝つ依頼する:
ランナーは、ステータスを構築得るためにCIのAPI http://docs.gitlab.com/ce/ci/api/builds.htmlを介して通信します。これは最終的にジョブが最後の仕事を終えたときとそれが確認するためにms
のx
の量に基づいて走者の多かれ少なかれランダムな選択になることを暗に意味するでしょう。
は完全に質問に答えるために:
クレジットは、コードを掘りとx = 3
秒thisとthisに基づいていることを発見した後BM5kに行きます。また、ことがわかった:
)はmachine selectionが同様
多かれ少なかれ(事実上)にランダムであることが明らかになったのはなぜテストを作成しませんプロジェクトをビルドし、いくつかのビルドを実行しますか?私はそれが最初に利用可能なランナーを選ぶと思います、そして、複数のランナーがアイドルであるなら、それはランダムに選びます。 – BrokenBinary