Я параллельно провожу несколько тестов Дженкинса. Тем не менее, если тест не пройден, я бы хотел запустить только один тест.
Я узнал, что функция «Перезапустить тест» состоит в том, чтобы перезапустить тест неудачных этапов, но как-то в моем случае это перезапуск всех тестов.
Ниже мой jenkinsfile:
#!/usr/bin/env groovy
def docker_image
def factory_key
pipeline {
agent any
stages {
// Checkout git repository
stage('Build & Prepare environment') {
// Execute this stage only on non-master branches
when {
not {
branch 'master'
}
}
steps {
sh "docker pull $DOCKER_IMAGE"
}
}
// Launch tests
stage('Test') {
when {
not {
branch 'master'
}
}
parallel {
stage('Testing deploy_demo on sles-12-factory-base using --terraform-config parameter..') {
when {
expression { currentBuild.result != 'SUCCESS' }
}
steps {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'artifactory-credentials', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
script {
docker.image("$DOCKER_IMAGE").inside("-u ansible") {
sh '/docker/entrypoint-test.sh "deploy_role --deploy-config configs/deploy_demo.cfg --terraform-config sles-12-factory-base.cfg --ignore-common-roles"'
}
}
}
}
}
stage('Testing deploy_demo on rhel-7-factory-base using --terraform-config parameter..') {
when {
expression { currentBuild.result != 'SUCCESS' }
}
steps {
script {
docker.image("$DOCKER_IMAGE").inside("-u ansible"){
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'artifactory-credentials', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
sh '/docker/entrypoint-test.sh "deploy_role --deploy-config configs/deploy_demo.cfg --terraform-config rhel-7-factory-base.cfg --ignore-common-roles"'
}
}
}
}
}
}
}
}
}
Я добавил выражение when на каждом этапе тестирования, чтобы прекратить повторный запуск теста, когда currentBuild.result успешен, но не учитывает его.
when {
expression { currentBuild.result != 'SUCCESS' }
}
Я пытаюсь использовать ссылку "Перезапустить тест" из пользовательского интерфейса jenkins BlueOcean.
![Restart Test](https://i.stack.imgur.com/S8JOt.png)
Любая помощь будет высоко ценится.