Чтобы добавить к ответу Рубинума, «первый» бегун будет любым бегуном, который сначала проверяет, что соответствует всем критериям. Например, метки могут ограничить, какие бегуны выполняют определенные задания.
Бегуны запрашивают сервер gitlab каждые X секунд, чтобы проверить, есть ли сборки. если есть сборки в очередь и несколько соответствуют критериям, то первым спросить победит
Update, чтобы ответить на комментарии:
Runners связь через CI API http://docs.gitlab.com/ce/ci/api/builds.html, чтобы получить статус сборки. Это в конечном итоге означает, что он станет более или менее случайным выбором бегуна на основе того, когда он закончил последнее задание, и x
сумма ms
ждет подтверждения.
Чтобы полностью ответить на вопрос:
Заслуга BM5k после копаться в коде и находя, что x = 3
секунд на основе this и this. Также установлено, что:
, какая машина грузчиком + машина бегун будет использовать один раз был выбран, что бегун) показывает, что machine selection более или менее (эффективно) случайным образом, а также
Почему бы не создать тест проект и запустить несколько сборок? Я предполагаю, что он выбирает первого доступного бегуна, и если несколько бегунов простаивают, он выбирает случайным образом. – BrokenBinary