Как настроить Jenkins для параллельного запуска моих тестов?
Я строю тестовую систему с Jenkins с несколькими подчиненными узлами. У меня есть несколько тестов, каждый из которых занимает более 15 минут.
Я хочу создать систему таким образом, чтобы при запуске тестов Jenkins запускал каждый тестовый случай на свободном узле и в конце собирал и суммировал результаты тестов.
Я открыл задание Jenkins, которое является общим заданием в тестовом случае, и оно параметризовано, где параметром является "имя теста". Но я вижу, что Дженкинс выполняет задания последовательно.
Как настроить Jenkins для параллельного запуска сборок для одного и того же задания (с разными параметрами)?
2 ответа
Простой синтаксис для параллели:
pipeline {
stages {
stage('Run Tests In Parallel') {
parallel {
stage('Projects Test 1') {
agent {
node { label "your jenkins label" }
}
steps{
script {
your test 1
}
}
post{
always {
script {
echo ' always'
}
}
}
}
stage('Projects Test 2') {
agent {
node { label "your jenkins label" }
}
steps{
script {
your test 2
}
}
post{
always {
script {
echo ' always'
}
}
}
}
}
}
}
}
Привет, вы можете использовать параллельные этапы в Дженкинс, который работает параллельно. также используйте агента any на каждом этапе, чтобы он использовал любой свободный узел.
Проверьте документ параллельных этапов для получения дополнительной информации