Мне нужно собрать и протестировать на нескольких конфигурациях: linux, osx и солярис. У меня есть подчиненные узлы с пометками «linux», «osx» и «solaris». На для каждой конфигурации я хочу (а) построить (б) запустить дымовые тесты (c) если дымовые тесты пройдены, то запустить полные тесты и, возможно, что-то еще.
Я подумал, что ответом могут быть задания с несколькими конфигурациями, поэтому я установил задание сборки с несколькими конфигурациями, и оно запускает параллельные сборки для каждого ОПЕРАЦИОННЫЕ СИСТЕМЫ. Задание сборки запустит последующую сборку с дымовым тестом, которая в Turn запускает задание полного тестирования.
Я столкнулся со следующими проблемами
Если одна из конфигураций не работает, задание в целом не выполняется, и Jenkins не будет запускать какие-либо последующие задания (например, если сборка Solaris не работает, Jenkins не будет запускать дымовые или полные тесты для osx и Linux).
Сборка solaris занимает примерно вдвое больше времени, чем другие (на порядка часа), и я бы предпочел, чтобы дымовые тесты linux и osx не дождитесь завершения сборки solaris.
Означает ли это, что мне осталось вручную создать три конвейера работ и помещая их в "начальную" работу (т. е. создание и объединение следующие вакансии)?
build-linux smoke-test-linux full-test-linux
build-osx smoke-test-osx full-test-osx
build-solaris smoke-test-solaris full-test-solaris
Я пропустил что-то очевидное?