【问题标题】:Jenkins: Get the completion or end time of previous buildJenkins:获取先前构建的完成或结束时间
【发布时间】:2018-04-19 16:41:59
【问题描述】:

是否可以在 Jenkins 管道中获取以前的构建完成时间? 并在下一次构建中使用它。而不是将其存储在某个文件中,然后获取下一个构建。

【问题讨论】:

    标签: jenkins jenkins-plugins jenkins-pipeline


    【解决方案1】:

    大概是这样

    currentBuild.rawBuild.getPreviousBuild().getTimestamp()
    

    参考http://javadoc.jenkins-ci.org/hudson/model/Run.html#getTimestamp--

    【讨论】:

      【解决方案2】:

      以下管道打印此管道上次运行的持续时间:

      pipeline {
          agent any
      
          options {
              //keep only 10 last builds
              buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '1'))
              disableConcurrentBuilds()
          }
      
          stages {
              stage('Test') {
                  steps {
                      sh 'sleep 5';
                  }
              }
      
              stage('Get time of previous build') {
                  steps {
                      script {
                          def duration = currentBuild.previousBuild.duration;
                          print duration;
                      }
                  }    
              }
          }
      
          post {
              always {
                  cleanWs()
              }
          }
      }
      

      但持续时间值不会是“人类可读”值,因此您仍需要使用awkpython 转换该值:解释here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-07
        • 2018-06-30
        • 1970-01-01
        • 1970-01-01
        • 2017-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多