Jenkins 时间段内间隔循环执行语句

 执行参数requestStartDate,requestEndDate,间隔时间1小时

pipeline {
   agent {
        node {
            label 'slave2'
        }
    }
    environment {
     t_used=""
   }

   stages {
      stage('test') {
         steps {
            script {
              def t_start = new java.text.SimpleDateFormat("yyyy-MM-dd HH").parse(params.requestStartDate)
              def t_end = new java.text.SimpleDateFormat("yyyy-MM-dd HH").parse(params.requestEndDate)
              while(t_start.before(t_end)) {
                t_used = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(t_start)
                print(t_used)
                sh """
                    java -jar -Dspring.profiles.active='${env.env}' /home/jenkins/lantubi-batch-repair-0.0.1.jar --job.name=resetScUserHourlyJob version=2 requestDate="$t_used"
                """
                sh """
                    java -jar -Dspring.profiles.active='${env.env}' /home/jenkins/lantubi-batch-repair-0.0.1.jar --job.name=scUserHourlyJob version=2 requestDate="$t_used"
                """
                def c = java.util.Calendar.getInstance()
                c.setTime(t_start);
                c.add(Calendar.HOUR, 1)
                echo "execure jar"
                t_start = c.getTime()
              }
         }
      }
   }
}

try{sh "mkdir -p ${remote_backup}"}catch(err){}

Guess you like

Origin blog.csdn.net/aleefang/article/details/121400547
Recommended