コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Jenkins】Pipeline で最後のログ出力からの経過時間でタイムアウトする方法

概要

timeout(time: 10, unit: "SECONDS", activity: true)

timeoutactivity: true を設定すると
最後のログ出力からの経過時間でタイムアウトを設定できる

pipeline {
    agent any

    options {
        timeout(time: 10, unit: "SECONDS", activity: true)
    }

    stages {
        stage('Initialize') {
            steps {
                script {
                    sleep(time:5, unit:"SECONDS")
                    echo "A"
                    sleep(time:5, unit:"SECONDS")
                    echo "B"
                    sleep(time:5, unit:"SECONDS")
                    echo "C"
                }
            }
        }
    }
}

そのため、上記のようなパイプラインであれば
ジョブのビルドに 15 秒かかるがタイムアウトせずビルドに成功する