【问题标题】:Run Jenkins pipeline nightly continuously每晚连续运行 Jenkins 管道
【发布时间】:2021-08-22 18:04:19
【问题描述】:

我将 Jenkins 用于 OnCommit 和 Nightly 构建。我的构建触发器例如在周末:

H/25 * * * 0,6

或周一至周五:

H/25 0-5 * * *

夜间构建每 25 分钟运行一次。

但是这样我不能有效地利用时间,如果构建长度发生变化,我总是必须调整它。

例如,如何让构建从晚上 8 点到早上 6 点永久运行。一旦第一个构建完成,下一个应该开始。然后在早上 6 点开始最后一次构建。

【问题讨论】:

    标签: jenkins jenkins-pipeline jenkins-groovy nightly-build


    【解决方案1】:

    解决方案

    我不一定推荐此解决方案,但您可以创建一个具有在特定时间段之间调用自身的阶段的管道。您可能需要禁用并发执行并将构建声明配置为不等待也不传播错误。

    pipeline {
        agent any
    
        options {
            disableConcurrentBuilds()
        }
        
        
        stages {
            stage('output') {
                steps {
                    echo 'I am doing something'
                }
            }
            
            stage('run again?') {
                steps {
                    script {
                        /*
                         * You will need to write the Groovy code for now, start, and end
                         * Then you can compare the times and build a self calling pipeline
                         */
                        if ( now.after(start.time) && now.before(end.time) ) {
                            build wait: false, propagate: false, job: "${env.JOB_NAME}"
                        }
    
                    }
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多