Доступ к индексу узла параллельного бегуна Gitlab - PullRequest
0 голосов
/ 20 декабря 2018

Атрибут Gitlab CI параллельный позволяет легко разбить ваш тестовый parcour на куски, разрешенные для параллельной работы (некоторые фреймворки называют это test sharding ).

ДляТаким образом, в вашей тестовой среде будут доступны переменные среды CI_NODE_INDEX и CI_NODE_TOTAL, указывающие, какой блок набора тестов следует запустить.Затем эти задания выбирают доступных исполнителей.

Существуют ли похожие переменные среды, доступные для Участники ?Атрибут concurrent runner позволяет определить, сколько экземпляров одной конфигурации Runner разрешено запускать параллельно.Есть ли способ определить, по какому индексу выполняется текущий тест?

Вариант использования: (для пояснения)

  1. Я хочу использовать тестЯ не могу разделить мои тесты Android на устройстве на несколько частей, чтобы они работали параллельно.Допустим, я хочу, чтобы это было 2 кусков.
  2. Я использую оболочку с параллелизмом = 4
  3. Бегун должен запустить Androidэмулятор для тестов на известном уникальном сетевом порту, поэтому он настраивается и управляется.

Если я сейчас использую CI_NODE_INDEX в качестве порта эмулятора *, я столкнусь с проблемами.Поскольку у меня есть четыре одновременно работающих бегуна на одной машине, могут работать два отдельных конвейера с двумя параллельными блоками.В обоих конвейерах у блоков будут индексы узлов 0 и 1. Это означает, что два конвейера пытаются использовать один и тот же эмулятор.

Я бы предпочел знать индекс параллельного бегуна - который, по крайней мере, когдаГлядя на логи бегуна, кажется, что это известно самому бегуну.Могу ли я запросить его?


* (это упрощение, поскольку эмулятору Android для настройки требуется четный порт. Но давайте пока проигнорируем это)

...