Saltar al contenido

Cómo agregar un paso de tiempo de espera a Jenkins Pipeline

Esta crónica fue analizado por nuestros expertos así garantizamos la exactitud de nuestro contenido.

Solución:

Puede utilizar el paso de tiempo de espera:

timeout(20) 
  node 
    sh 'foo'
  

Si necesitas una diferente TimeUnit que MINUTOSpuede suministrar el unit argumento:

timeout(time: 20, unit: 'SECONDS') {

EDITAR agosto de 2018: Hoy en día, con las canalizaciones declarativas más comunes (fácilmente reconocidas por el nivel superior pipeline construir), los tiempos de espera también se pueden especificar usando options en diferentes niveles (por tubería general o por etapa):

pipeline 
  options 
      timeout(time: 1, unit: 'HOURS') 
  
  stages  .. 
  // ..

Aún así, si desea aplicar un tiempo de espera a un solo paso en una canalización declarativa, puede usarse como se describe anteriormente.

Para una canalización declarativa, se recomienda utilizar el paso de tiempo de espera en la sección de opciones.

Ejecuta el código dentro del bloque con un límite de tiempo determinado. Si se alcanza el límite de tiempo, se lanza una excepción (org.jenkinsci.plugins.workflow.steps.FlowInterruptedException), lo que provoca la cancelación de la compilación (a menos que se detecte y procese de alguna manera). La unidad es opcional pero el valor predeterminado es minutos.

El paso de tiempo de espera tiene 3 parámetros que puede configurar:

  • tiempo (obligatorio, entero)

    • La cantidad del tiempo de espera, si no se indica ninguna unidad, duración en minutos
  • actividad (opcional, booleano)

    • Tiempo de espera después de que no haya actividad en los registros para este bloque en lugar de la duración absoluta.
  • unidad (opcional, valores: NANOSEGUNDOS, MICROSEGUNDOS, MILISEGUNDOS, SEGUNDOS, MINUTOS, HORAS, DÍAS)

    • La unidad para el tiempoel valor predeterminado es MINUTOS

Ejemplos:

timeout(time: 10) // would lead to a timeout of 10 minutes (MINUTES is default value)
timeout(time: 10, unit: 'SECONDS') // a 10 seconds timeout
timeout(time: 10, activity: false, unit: 'MILLISECONDS')

La documentación oficial de Jenkins tiene un muy buen ejemplo para el uso de un tiempo de espera:

pipeline 
    agent any
    options 
        timeout(time: 1, unit: 'HOURS') 
    
    stages 
        stage('Example') 
            steps 
                echo 'Hello World'
            
        
    

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *