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

Jenkins需求:为声明式流水线添加停止当日环境关停的选项

解决方案:给Jenkins声明式流水线加跳过关停的选项

嘿,刚上手Jenkins别发愁,这个需求其实很容易实现!核心思路就是给流水线加个参数化构建选项,让你可以手动选择是否跳过当日的关停操作,同时不影响定时任务的正常执行。下面是具体步骤和代码示例:

1. 添加参数化构建选项

在声明式流水线里,用parameters块添加一个布尔类型的参数,让用户可以勾选是否跳过关停。默认值设为false,这样定时自动跑的时候会正常执行关停,只有你手动触发时勾选才会跳过。

2. 在关停步骤加条件判断

在执行关停操作的阶段,通过params.SKIP_SHUTDOWN判断是否要执行关停逻辑。如果参数为true,就输出提示跳过;否则执行关停命令。

完整流水线示例

pipeline {
    agent any
    // 定义参数:是否跳过当日关停
    parameters {
        booleanParam(
            name: 'SKIP_SHUTDOWN',
            defaultValue: false,
            description: '勾选这个选项,当日就不会执行环境关停啦'
        )
    }
    // 定时触发:假设每天22点执行(你可以改成自己的时间)
    triggers {
        cron('0 22 * * *') 
    }
    stages {
        stage('处理环境关停') {
            steps {
                script {
                    if (params.SKIP_SHUTDOWN) {
                        echo '✅ 已勾选跳过关停,今日不执行环境关停操作'
                    } else {
                        echo '🔧 开始执行环境关停操作...'
                        // 这里替换成你实际的关停命令,比如:
                        // sh 'ssh your-server "sudo systemctl stop your-environment"'
                        // 或者调用你的关停脚本:sh './scripts/shutdown-environment.sh'
                    }
                }
            }
        }
        // 如果你的重启是次日定时执行,也可以放在同一个流水线里(或者单独一个流水线)
        stage('次日重启环境') {
            // 这里可以加条件:只有当天执行了关停,次日才重启
            when {
                not {
                    equals expected: true, actual: params.SKIP_SHUTDOWN
                }
            }
            steps {
                echo '🔄 次日执行环境重启操作...'
                // 替换成你的重启命令:
                // sh 'ssh your-server "sudo systemctl start your-environment"'
            }
        }
    }
}

怎么用?

  • 定时自动执行:每天到你设置的时间,流水线会自动触发,因为SKIP_SHUTDOWN默认是false,所以会正常执行关停。
  • 手动跳过关停:当你需要在环境上测试时,手动点击流水线的「Build with Parameters」按钮,勾选SKIP_SHUTDOWN,然后构建,当天就不会关停环境了。

小提示

  • 如果你重启是单独的定时任务,那可以不用把重启逻辑放在这个流水线里,保持两个独立的定时流水线就行(一个关停,一个次日重启)。
  • Cron表达式可以根据你的需求调整,比如0 22 * * *是每天22:00执行,你可以在Jenkins的Cron表达式帮助面板里查询自己需要的时间格式。

内容的提问来源于stack exchange,提问作者fs314

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:53:14