Aby dodać do odpowiedzi Rubinum, "pierwszy" biegacz byłby tym, który biegacz, który najpierw sprawdzi, spełnia wszystkie kryteria. Na przykład etykiety mogą ograniczać, na których runnerach działają określone zadania.
Biegacze odpytują serwer gitlab co X sekund, aby sprawdzić, czy są kompilacje. Jeśli istnieje kompilacji w kolejce i stwardnienie spełniać kryteria, najpierw zapytać wygra
Update, aby odpowiedzieć na komentarze:
Runners komunikować się za pośrednictwem interfejsu API CI http://docs.gitlab.com/ce/ci/api/builds.html aby zbudować status. To ostatecznie implikuje, że stanie się bardziej lub mniej losowym wyborem biegacza na podstawie tego, kiedy zakończyło ostatnią pracę i x
ilość czeka na sprawdzenie.
Aby całkowicie odpowiedzieć na pytanie:
zasługa BM5k po wykopaniu przez kod i stwierdzając, że x = 3
sekund na podstawie this i this. stwierdzono również, że:
który machine a doker + maszyna zawodnik użyje raz został wybrany, że biegacz) ujawnia, że machine selection jest bardziej lub mniej (efektywnie) losowy, jak również
Dlaczego nie stworzyć test projektować i uruchamiać kilka kompilacji? Wyobrażam sobie, że wybiera on pierwszego dostępnego biegacza, a jeśli wielu biegaczy jest bezczynnych, wybiera losowo. – BrokenBinary