Я пытаюсь построить конвейер для автоматических тестов в конвейере Дженкинса.
У меня есть N машин, которые подготовлены и имеют ярлык для тестированияNode
У меня М тесты
Я хочу запустить M тесты на узлах, помеченных мною, с помощью testNode параллельно (это означает, что любой тест может проходить на любой машине, помеченной и параллельно выполняемой на машинах)
машина не ограничена одним тестом, она может работать одновременно, но не параллельно на одном компьютере
Я сделал так в Groovy
for(int i=0;i<tests.size();i++) {
def tasks = [:]
tasks["run_${tests[i].name}"] = {
node("TestingLabel") {
//run tests on machine that have testingLabel
}
}
}
parallel tasks
Этот код работает, но проблема с этим кодом в том, что, если у меня есть только 1 доступная машина, он запускает все тесты на этой машине параллельно. Как я могу это исправить?
Спасибо