web-dev-qa-db-fra.com

Comment ajouter une étape de délai d'attente au pipeline Jenkins

Lorsque vous utilisez un projet de style libre, vous pouvez définir qu’après 20 minutes, la construction est abandonnée si elle n’est pas terminée. Comment cela est-il possible avec un projet de pipeline multi-branches Jenkins?

69
Devonte

Vous pouvez utiliser l’étape timeout :

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

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

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

EDIT août 2018: De nos jours avec le plus commun pipelines déclaratifs (facilement reconnu par la construction de niveau supérieur pipeline), les délais peuvent spécifier également en utilisant options sur différents niveaux (par pipeline ou par étage):

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

Néanmoins, si vous souhaitez appliquer un délai d'attente à une seule étape d'un pipeline déclaratif, vous pouvez l'utiliser comme décrit ci-dessus.

138
StephenKing