You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测Jenkins流水线构建任务是否在10点后完成并输出警告?

Jenkins流水线检测构建完成时间并输出警告的实现方法

可以通过在流水线的post阶段添加时间检查逻辑来实现,具体方案如下:

核心实现思路

在流水线执行完成后(无论构建成功/失败),通过Groovy代码获取当前时间,与上午10点进行对比,若晚于10点则输出警告信息。

完整流水线示例

pipeline {
    agent any
    stages {
        stage('构建任务') {
            steps {
                // 替换为你的实际构建步骤(编译、打包、部署等)
                echo '正在执行构建...'
            }
        }
    }
    post {
        always {
            script {
                // 处理时区(按需调整,示例为上海时区)
                def targetTimeZone = TimeZone.getTimeZone('Asia/Shanghai')
                def now = new Date()
                def currentHour = now.getHours(targetTimeZone)
                def currentMinute = now.getMinutes(targetTimeZone)

                // 判断是否晚于上午10点
                def isOverdue = currentHour > 10 || (currentHour == 10 && currentMinute > 0)
                if (isOverdue) {
                    echo '⚠️ 警告:构建完成时间晚于上午10点,不符合要求!'
                    // 若需强制标记流水线失败,可替换为error语句:
                    // error '构建超时完成,触发告警!'
                } else {
                    echo '构建完成时间符合要求(上午10点前)'
                }
            }
        }
    }
}

关键细节说明

  • post阶段的always块:确保无论构建结果如何,都会执行时间检查逻辑
  • 时区处理:必须保证Jenkins服务器时区与业务时区一致,避免时间判断偏差。示例中指定了上海时区,可根据实际情况修改
  • 告警强度选择:用echo仅输出警告信息,流水线状态不受影响;用error会直接标记流水线为失败,告警更醒目,可按需选择

内容的提问来源于stack exchange,提问作者Ranga B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:12:19