是否有可能在Jenkins管道中获得以前的构建完成时间? 并在下一个版本中使用它。而不是将其存储在某个文件中,然后获取下一个构建。
答案 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()
}
}
}
但是,持续时间值不会是“人类可读”值,因此您仍需要使用awk
或python
转换值:解释here。