首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jenkins管道超时

Jenkins管道超时
EN

Stack Overflow用户
提问于 2018-08-29 15:32:00
回答 2查看 8.9K关注 0票数 1

在我的windows机器上,我有一个Jenkins流水线(声明式)的阶段。有一个永远运行的脚本。然而,我需要日志,并且必须确保它不会中断,所以我不能在后台运行它。基本上,我正在寻找如果没有日志填充在jenkins中的一段时间,它应该进行到下一个阶段的“成功”状态。

我使用了时间选项,但是它将作业标记为失败,后续阶段不会运行,作业被中止。

代码语言:javascript
运行
复制
timeout(time: 150, unit: 'SECONDS', activity: true)

任何方式,如果我可以标记阶段的状态为成功后,这样的持续时间。

谢谢,

EN

回答 2

Stack Overflow用户

发布于 2018-08-29 15:55:45

您可以尝试使用try\catch块和currentBuild全局变量,例如(已测试):

代码语言:javascript
运行
复制
try {
    stage("UNSTABLE"){
        timeout(time: 20, unit: 'MINUTES') {
        //do something
        echo "UNSTABLE stage"
        currentBuild.result = "UNSTABLE"
        }
    }
    stage("SUCCESS"){
        timeout(time: 20, unit: 'MINUTES') {
        //do something
        echo "SUCCESS stage"
        currentBuild.result = "SUCCESS"
        }
    }
    stage("FAILURE"){
        timeout(time: 20, unit: 'MINUTES') {
        //do something
        echo "FAILURE stage"
        //currentBuild.result = "FAILURE" //this will fail all the pipeline
        }
    }
} catch (err) {
    echo err
    currentBuild.result = "SUCCESS"
    //do job
} finally {
    currentBuild.result = "SUCCESS"
    //do job
}

来自管道语法文档(在本地jenkins -http://localhost:8080/pipeline-syntax/globals#currentBuild上访问此文档的链接):

currentBuild变量可用于引用当前运行的构建。它具有以下可读属性:

result -通常为成功、不稳定或失败(对于正在进行的构建,可能为null )

currentResult -通常是成功、不稳定或失败。永远不会为空。

另请参阅:How to manipulate the build result of a Jenkins pipeline job?

票数 2
EN

Stack Overflow用户

发布于 2018-09-04 16:44:41

我在试着运行永远运行的npm start

然而,我知道还有其他的命令

代码语言:javascript
运行
复制
npm build

这解决了我的问题。因此,我不需要包含try catch块和超时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52071893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档