Я пытаюсь написать скриптовый файл Jenkins, используя массивный DSL, который будет иметь параллельные шаги в пределах нескольких этапов.
Вот мой файл jenkins:
node {
stage('Build') {
sh 'echo "Build stage"'
}
stage('API Integration Tests') {
parallel Database1APIIntegrationTest: {
try {
sh 'echo "Build Database1APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database2APIIntegrationTest: {
try {
sh 'echo "Build Database2APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database3APIIntegrationTest: {
try {
sh 'echo "Build Database3APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}
}
stage('System Tests') {
parallel Database1APIIntegrationTest: {
try {
sh 'echo "Build Database1APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database2APIIntegrationTest: {
try {
sh 'echo "Build Database2APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database3APIIntegrationTest: {
try {
sh 'echo "Build Database3APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}
}
}
Я хочу иметь 3 этапа: Build; Интеграционные тесты и системные тесты. В течение двух этапов тестирования я хочу иметь 3 набора тестов, выполняемых параллельно, причем каждый из них относится к другой базе данных.
У меня есть 3 доступных исполнителя. Один на главном и 2 агента, и я хочу, чтобы каждый параллельный шаг выполнялся на любом доступном исполнителе.
Я заметил, что после запуска моего конвейера я вижу только три этапа, каждый из которых выделяется как зеленый. Я не хочу, чтобы просматривать журналы для этого этапа, чтобы определить, были ли какие-либо из параллельных шагов на этом этапе успешными/неустойчивыми/неудачными.
Я хочу видеть 3 этапа на этапах тестирования - отмечен как зеленый, желтый или красный (успех, неустойчивость или неудача).
Я рассмотрел возможность расширения тестов на своих этапах, но понял, что параллельные этапы не поддерживаются (кто-нибудь знает, будет ли это когда-либо поддерживаться?), Поэтому я не могу этого сделать, поскольку конвейер займет слишком много времени, чтобы завершить,
Любое понимание было бы высоко оценено, спасибо