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

标签 jenkins-pipeline jenkins-groovy stage

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

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

当我运行它时,它保持绿色并发送“成功”,尽管它失败了 - 如果我输入日志,我会看到:

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')

据我所知,它应该为阶段发送“失败”,为整个构建发送“成功”。

stageResult 对我不起作用。

我尝试为“构建作业:”添加“传播:真”
但它也没有帮助。
这是管道本身:
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')]
                }
            }
        }
    }
}

这是我需要的真正“重点”功能,但它拒绝工作。
我每次都获得成功,而不是失败并继续项目。

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

我确实将我的 jenkins 版本更新为 2.192
管道常规为 2.74
和“管道:基本步骤”插件到 2.18

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

最佳答案

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

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

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

关于jenkins-pipeline - 如何修复 - stageResult 设置为 FAILURE 但仍然在 jenkins 中获得成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57745806/

相关文章:

jenkins - 在Jenkinsfile的步骤中找不到这样的DSL方法 'when'

jenkins-pipeline readJSON - 如何访问嵌套元素

json - 使用 jenkins 管道显示 Json 文件

flash - 检测动画片段已在 as3 的舞台上水平翻转

android - libgdx/安卓 : actor becomes black after added to stage

jenkins - 如何在 Jenkinsfile 中使用 Jenkins MSBuild 插件?

jenkins - 如何在从站上执行的管道阶段中获取 Jenkins 主 IP/主机名?

jmeter 执行与之前在 Jenkins 中构建的比较

flash - 如何从 Adob​​e Flash 中的 AS3 类访问舞台