es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Vuelva a ejecutar un pipeline utilizando el script de Jenkins.

Tengo un pipeline con información detallada detrás

pipeline {
    parameters {
        booleanParam(name: 'RERUN', defaultValue: false, description: 'Volver a ejecutar pruebas fallidas')
    }
    stage('Ejecutar pruebas') {
        steps {
            runTest()
        }
    }
    post {
        always {
            reRun()
        }
    }
}

def reRun() {
if (“SUCCESS”.equals(currentBuild.result)) {
echo “LA ÚLTIMA EJECUCIÓN FUE EXITOSA”
} else if (“UNSTABLE”.equals(currentBuild.result)) {
echo “LA ÚLTIMA EJECUCIÓN NO FUE ESTABLE”
}
}

Pero quiero que después de la etapa “Ejecutar pruebas” se ejecute, si algunas pruebas fallan, quiero volver a ejecutar el pipeline con el parámetro RERUN en true en lugar de false. ¿Cómo puedo repetirlo a través de un script en lugar de usar complementos? No pude encontrar cómo volver a ejecutar usando parámetros en mi búsqueda, si alguien puede ayudarme estaré agradecido.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para repetir el pipeline con el parámetro RERUN establecido como verdadero si algunos tests fallan, puedes modificar la sección post de tu script de pipeline para incluir una condición que verifique si el resultado de la construcción es un fallo:

    post {
        always {
            script {
                def result = currentBuild.result
    
                if (result == 'FAILURE') {
                    build job: "${JOB_NAME}", parameters: [booleanParam(name: 'RERUN', value: true)]
                } else if (result == 'UNSTABLE') {
                    echo 'LA ÚLTIMA CONSTRUCCIÓN FUE INESTABLE'
                } else {
                    echo 'LA ÚLTIMA CONSTRUCCIÓN FUE EXITOSA'
                }
            }
        }
    }
    

    El paso build se utiliza para desencadenar una nueva construcción del mismo trabajo con el parámetro RERUN establecido como verdadero.

    Tenga en cuenta que esto requiere que el complemento Jenkins Script Console esté instalado y habilitado. Además, el usuario que ejecuta el script debe tener permisos para desencadenar construcciones del mismo trabajo.

Comments are closed.