我有一份 Jenkins 作業,在作業結束時(可能是在發布操作或該作業的最后階段,我想知道自作業開始以來已經過去了多少時間。
怎么能找到呢?有沒有簡單直接的方法來了解它?
uj5u.com熱心網友回復:
安裝時間戳插件。
Timestamper 插件將時間戳添加到 Jenkins 作業的控制臺輸出中。例如:
21:51:15 Started by user anonymous
21:51:15 Building on master
21:51:17 Finished: SUCCESS
/timestamps/默認情況下,以秒為單位顯示經過的時間,小數點后三位。
/timestamps/?time=HH:mm:ss&appendLog顯示系統時鐘時間并附加日志中的行。
/timestamps/?elapsed=HH:mm:ss.S&appendLog顯示經過的時間并附加日志中的行。
/timestamps/?time=HH:mm:ss&elapsed=HH:mm:ss.S顯示系統時鐘時間和經過時間。
/timestamps/?currentTime&time=HH:mm:ss在 Jenkins 控制器上顯示當前時間。
uj5u.com熱心網友回復:
示例管道腳本
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo 'Hello World'
sleep 10
}
}
}
post {
always {
println "${currentBuild.durationString}"
}
}
}
輸出:
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Hello)
[Pipeline] echo
Hello World
[Pipeline] sleep
Sleeping for 10 sec
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] echo
14 sec and counting
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
如果你不喜歡and counting你可以隨時做的部分
"${currentBuild.durationString}".replaceAll(' and counting', "")
uj5u.com熱心網友回復:
除了上面的所有答案之外,還有一種非常好的方法:
import hudson.Util
.
.
.
String time = Util.getTimeSpanString(System.currentTimeMillis() - currentBuild.startTimeInMillis)
如果您顯示time它,它將采用以下格式:
2 hr 15 min 47 sec
這非常簡潔,最初不需要設定任何額外的變數,也不需要編輯(在我的情況下,我想要這種確切的方式)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/331213.html
標籤:詹金斯 时髦的 詹金斯管道 詹金斯插件 詹金斯·格罗维
