Я пытаюсь настроить различные конвейеры Jenkins, последний этап которых - запуск некоторых приемочных тестов. Короче говоря, приемочные тесты и тестовые данные (большая часть которых является общей) для всех продуктов помещаются в один и тот же репозиторий, размер которого составляет около 0,5 ГБ. Поэтому казалось, что лучше всего иметь отдельную работу для приемочных тестов и запускать ее с шагом «сборки» из каждого конвейера с соответствующими аргументами для запуска соответствующих тестов. (Иногда полезно повторно запустить эти тесты, не перестраивая продукт)
stage('AcceptanceTest') {
steps {
build job: 'run-tests', parameters: ..., wait: true
}
}
До сих пор я видел, что я могу либо:
- вызвать работу как обычно. Но это использует дополнительный агент / исполнителя,
кажется, нет способа сказать ему, чтобы использовать один из
построить (магистральный трубопровод). Оба конвейера начинаются с "agent {label 'master'}", но это
кажется, означает «выделить нового агента на главном узле соответствия».
- вызвать задание с аргументом wait: false. Это не
заблокировать исполнителя, но это значит, что я не могу сообщить о результатах
испытания в магистральном трубопроводе. Создается впечатление, что тест
этап всегда удавался.
Есть ли лучший способ?