Дженкинс конвейер Groovy, как запустить N тестов в M машин параллельно - PullRequest
2 голосов
/ 10 апреля 2019

Я пытаюсь построить конвейер для автоматических тестов в конвейере Дженкинса. У меня есть 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 доступная машина, он запускает все тесты на этой машине параллельно. Как я могу это исправить?

Спасибо

...