groovy 检查生成作业是否在特定时间之前完成

yhuiod9q  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(153)

我维护一条Jenkins管道,要求在早上10点前完成。
是否有办法检测到作业在上午10点之后完成并打印警告(例如)?

sy5wg1nm

sy5wg1nm1#

下面是一个示例管道,它可以满足您的要求。在这里,我使用了一个生成后步骤来检查时间。您可以在检查时间后决定要做什么。例如:将构建设置为不稳定,发送邮件等。

pipeline {
    agent any
    stages{
        stage('Build') { 
            steps{
                echo "RUNNING THE BUILD!!!!" 
            }
        }
    }
    post { 
        always { 
            script{
                echo 'Checking the time'
                def timeToCheckBefore = [hourOfDay: 10, minute: 0, second: 0] // 10PM will be 23, 0, 0
                def now = new Date()
                def check = now.clone()
                check.set(timeToCheckBefore)

                if(now.after(check)) {
                    echo "Time is Passed: Current Time : $now, Should finish before: $check"
                } else {
                    echo "Job finished timely: Current Time : $now, Should finish before: $check"
                }
            }

        }
    }
}

相关问题