如何修复 - stageResult 设置为 FAILURE 但仍然在 jenkins 中获得成功

how to fix - stageResult set to FAILURE but still get success in jenkins

我正在尝试创建一个非常简单的管道, 它有一个阶段和一个步骤。

它使用我创建的作业 'build' 作为自由泳(有效)但我添加了一个错误(参数项目名称的值错误 - 'test3' 而不是 'test')

当我 运行 它时,它保持绿色并发送 "success" 尽管它失败了 - 如果我进入日志我会看到这个:

Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in C:\Program Files (x86)\Jenkins\workspace\pipeline testing
[Pipeline] {
[Pipeline] stage
[Pipeline] { (1)
[Pipeline] catchError
[Pipeline] {
[Pipeline] build (Building build)
Scheduling project: build
Starting building: build #62
[Pipeline] }
ERROR: build #62 completed with status FAILURE (propagate: false to ignore)
[Pipeline] // catchError
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

我尝试使用新插件: catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE')

据我了解,假设为阶段发送 "FAILURE",为整个构建发送 "SUCCESS"。

stageResult 对我不起作用。

我尝试为 "build job:" 添加 "propagate: true" 但它也没有帮助。 这是管道本身:

pipeline {
    agent any
    stages 
    {
        stage('1') 
        {
            steps 
            {
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE')
                {
                    build job: 'build',parameters: [string(name: 'Project_Name', value: 'test3'), 
                    string(name: 'Environment_Name', value: 'Dev_Env_1')]
                }
            }
        }
    }
}

这确实是我需要的 "on the point" 功能,但它无法正常工作。 我每次都获得成功,而不是失败并继续该项目。

它确实会继续(如果我有更多阶段)但问题是我需要它是红色的并告诉我阶段失败而不是绿色成功。

我确实将我的 jenkins 版本更新到了 2.192 管道 groovy 是 2.74 和 "pipeline: basic steps" 插件到 2.18

编辑:最后的解决方案是更新所有其他插件

除了以下版本的插件外,似乎(如聊天中所讨论的)还有其他插件需要更新。

Pipeline Basic Steps: 2.18
Pipeline: Groovy version 2.74
Pipeline: Basic Steps version 2.18

更新插件部分 (http://<JENKINS_HOME>/pluginManager/) Updates 选项卡中的所有插件后,问题已解决。