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'