1. ホーム
  2. jenkins

[解決済み] Jenkinsパイプラインにタイムアウトステップを追加する方法

2022-10-07 06:10:05

質問

フリースタイルのプロジェクトを使用しているとき、20分後にビルドが完了しない場合は中止するように設定できます。Jenkins Multi Branch Pipeline Projectでどのように可能ですか?

どのように解決するのですか?

あなたは タイムアウト のステップになります。

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

もし、別の TimeUnit よりも MINUTES を指定すると unit 引数を指定します。

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

2018年8月にEDITしました。 現在ではより一般的な 宣言的パイプライン を使うようになりました (トップレベルの pipeline の構成で簡単にわかります)、タイムアウトは options を使って指定することもできます(パイプライン全体またはステージごと)。

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

それでも、宣言型パイプラインの1つのステップにタイムアウトを適用したい場合は、上記のように使用することができます。