詹金斯:获取上一次构建的完成时间或结束时间

时间:2018-04-19 07:54:06

标签: jenkins jenkins-plugins jenkins-pipeline

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

2 个答案:

答案 0 :(得分:0)

可能就是这样

currentBuild.rawBuild.getPreviousBuild().getTimestamp()

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

答案 1 :(得分:0)

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

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