【问题标题】:Unexpected behaviour with Groovy while loop execution in Jenkins pipeline在 Jenkins 管道中循环执行时 Groovy 的意外行为
【发布时间】:2019-10-16 05:48:44
【问题描述】:

我创建了简单的 Jenkins 管道作业,其中只有“管道脚本” -

node {
    stage('test') {
        def count = 1
       while(count <= 5) {
           echo "Count is $count"
        echo "Sleeping for 5 seconds..."
        sleep(5000)
        count++
       }
    }
}

运行作业时,我得到以下结果 -

[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in C:\Program Files (x86)\Jenkins\workspace\TestFile
[Pipeline] {
[Pipeline] stage
[Pipeline] { (test)
[Pipeline] echo
Count is 1
[Pipeline] echo
Sleepig for 5 seconds...
[Pipeline] sleep
Sleeping for 1 hr 23 min

在第一个 while 块执行之后,它会说 Sleeping for 1 hr 23 min 休眠。这种突如其来的睡眠是怎么来的?

然而,同样的 groovy 脚本在 Jenkins 之外运行良好。

【问题讨论】:

    标签: jenkins groovy jenkins-pipeline devops


    【解决方案1】:

    您必须使用以下内容:-

    echo "Sleeping for 5 seconds..."
    sleep(5)
    count++
    

    由于 sleep 考虑的是秒而不是毫秒的值,请点击链接获取更多信息info

    【讨论】:

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