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.

Cómo salir del pipeline de Jenkins si tenemos el mensaje “BUILD FAILED”

En una de las etapas del flujo de trabajo, en el registro tengo un mensaje de “build failed” (construcción fallida), y luego un poco más tarde tengo un mensaje de compilación exitosa. Quiero que el flujo de trabajo se detenga cuando encuentre un mensaje de construcción fallida y no continúe, porque si continúa, lo verá como exitoso y no se detendrá, y no sabremos que hay un problema en el registro.

Mensaje de construcción fallida: Build Failed message

Imagen de construcción exitosa: Build Success Image

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para detener el pipeline cuando encuentre un mensaje de “Build Failed”, puedes usar una declaración condicional.

    1. Primero, captura la salida del registro como una cadena utilizando el parámetro “text” en el paso “sh”:
    def logs = sh returnStdout: true, script: 'tu_comando_de_construcción_aquí'
    
    1. Luego, verifica si el mensaje de “Build Failed” está presente en los registros utilizando una expresión regular:
    if (logs =~ /Build Failed/) {
      error("Se detectó el mensaje de Build Failed. Deteniendo el pipeline.")
    }
    
    1. La función “error” hará que el pipeline se detenga y falle inmediatamente, evitando que se ejecuten más etapas. Si se encuentra el mensaje de “Build Success” antes del mensaje de “Build Failed”, el pipeline continuará normalmente.

    Un ejemplo de etapa en el Jenkinsfile se vería así:

    stage('Build') {
      steps {
        script {
          def logs = sh returnStdout: true, script: 'tu_comando_de_construcción_aquí'
          if (logs =~ /Build Failed/) {
            error("Se detectó el mensaje de Build Failed. Deteniendo el pipeline.")
          }
        }
      }
    }
    

    Al utilizar este enfoque, puedes asegurarte de que cualquier falla en el proceso de construcción se identifique y solucione de inmediato antes de que el pipeline continúe.

Comments are closed.