概要
pipeline { agent any stages { stage("Hello") { steps { script { timeout(time: 5, unit: "SECONDS") { sleep 10 echo "Hello World" } } } } // このステージはスキップされる stage("Hello2") { steps { echo "Hello World2" } } } }
通常、タイムアウトした場合のリザルトは Aborted になり
以降のステージはスキップされるが、
pipeline { agent any stages { stage("Hello") { steps { script { try { timeout(time: 5, unit: "SECONDS") { sleep 10 echo "Hello World" } } catch ( err ) { // org.jenkinsci.plugins.workflow.steps.FlowInterruptedException echo "${err}" } } } } // このステージは実行される stage("Hello2") { steps { echo "Hello World2" } } } }
try~catch するとリザルトが Success になる
以降のステージも実行される
メモ
Jenkins から Unity のビルドを実行した時に、アプリのビルド完了後に
Unity プロジェクトが終了せずに Jenkins の進行が止まってしまうことがあったので調査