У нас есть существующая установка Jenkins, которая тестирует встроенное ПО, работающее на встроенном пироге. Многоступенчатый конвейер выглядит примерно так: Оформление заказа -> Сборка -> Загрузка -> Дымовые испытания -> Единица Тесты . Это работает отлично, за исключением того, что для запуска трубопровода требуется 9 часов. Чтобы ускорить процесс, а также протестировать различные варианты целей, мы добавили в систему еще 3 цели (UUT # 1, # 2 и т. Д.).
Мой вопрос заключается в том, какой самый простой способ разрешить параллелизацию при одновременном ограничении наборов UUT с указанными c свойствами. Например, наши модульные тесты содержат около 10 различных наборов (suite1 suite2 и т. Д.), И я хотел бы распределить их среди 4 проверяемых объектов (таким образом, имея по 4 набора одновременно). ) но ограничить выполнение следующим образом:
- Suite1 может работать только на проверяемом оборудовании с «USB»
- Suite2 может работать только на проверяемом оборудовании с «ЖК-дисплеем»
- Suite3 может работать где угодно
.. и т. Д., Тогда мои UUT могут иметь такие свойства, как:
- UUT # 1 «USB LCD-дисплей»
- UUT # 2 'Ethernet'
- UUT # 3 'RS-232 USB'
Et c.
Чтение об агентах Кажется, что label
на агенте может позволить это, но агенты, кажется, несут много накладных расходов, и я не уверен, что они уместны.
Давний пользователь Jenkins, но я впервые пытался сделать что-то столь сложное, и конвейеры для меня - новая концепция.