Comment ajouter une étape de temporisation au Pipeline Jenkins

lorsque vous utilisez un projet de style libre, Vous pouvez définir qu'après 20 minutes la construction est annulée si elle n'est pas terminée. Comment est-ce possible avec un projet de Pipeline à plusieurs embranchements de Jenkins?

36
demandé sur StephenKing 2016-06-29 12:47:45

1 réponses

Vous pouvez utiliser le bouton timeout l'étape:

timeout(20) {
  node {
    sh 'foo'
  }
}

si vous avez besoin d'un autre TimeUnit que MINUTES , vous pouvez fournir le unit argument:

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

MODIFIER Août 2018: de nos jours, avec la plus fréquente déclarative pipelines (facilement reconnu par le haut-niveau pipeline de construire), les délais d'attente peut également être spécifié en utilisant options à différents niveaux (par pipeline global ou par étage):

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

néanmoins, si vous voulez appliquer un délai à une seule étape dans un pipeline déclaratif, il peut être utilisé comme décrit ci-dessus.

72
répondu StephenKing 2018-08-08 15:47:46