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

问题描述 投票:0回答:2

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

jenkins jenkins-plugins jenkins-pipeline
2个回答
0
投票

可能就是这样

currentBuild.rawBuild.getPreviousBuild().getTimestamp()

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


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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.