继续 Jenkins 管道过去失败的阶段

2024-01-29

我有一系列执行快速检查的阶段。我想把它们全部完成,即使有失败。例如:

stage('one') {
    node {
        sh 'exit 0'
    }
}
stage('two') {
    node {
        sh 'exit 1'   // failure
    }
}
stage('three') {
    node {
        sh 'exit 0'
    }
}

Stage two失败,所以默认阶段three没有被执行。

通常这将是一份工作parallel,但我想在舞台视图中显示它们。在下面的模拟中:

  • Build #4 显示了通常发生的情况。工作two所以失败了three不运行。
  • 我对 Build #6 进行了 Photoshop 处理,以展示我想看到的内容。工作two失败并显示为这样,但是three仍在运行。真正的 Jenkins 可能会显示整个 Build #6 略带红色,这当然很好。

现在这是可能的。下面是声明性管道的示例,但是catchError也适用于脚本化管道。

pipeline {
    agent any
    stages {
        stage('1') {
            steps {
                sh 'exit 0'
            }
        }
        stage('2') {
            steps {
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
                    sh "exit 1"
                }
            }
        }
        stage('3') {
            steps {
                sh 'exit 0'
            }
        }
    }
}

在上面的示例中,所有阶段都将执行,管道将成功,但阶段 2 将显示为失败:

正如您可能已经猜到的,您可以自由选择buildResult and stageResult,以防您希望它不稳定或其他任何情况。您甚至可以使构建失败并继续执行管道。

只需确保您的 Jenkins 是最新的,因为这是一个相当新的功能。

EDIT:你需要《管道:基本步骤》2.16(2019年5月14日) https://plugins.jenkins.io/workflow-basic-steps

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

继续 Jenkins 管道过去失败的阶段 的相关文章

随机推荐

  • android 4.2.2支持jre 1.7吗? [复制]

    这个问题在这里已经有答案了 我有一个 Android 4 2 2 的手持设备 现在 我想知道是否可以知道该版本支持哪种java运行时环境 因为android是基于java的 实际上我想在我新开发的 android 4 2 2 应用程序中使用
  • 如何使用 firebase 模拟器设置 firebase firestore 和云功能测试套件进行 JS 开发

    根据 Firebase 团队的以下 google I O 2019 帖子 新的模拟器允许我们结合 Firebase 数据库加上云功能来完全模拟我们的 Firebase 服务器代码 这也意味着我们应该能够为其编写测试 我们正在发布一个全新的
  • Azure 持续部署错误无法加载文件或程序集 Microsoft.WindowsAzure.Packaging

    当我尝试将项目部署到云服务时 使用持续部署和托管构建控制器 我突然开始收到此错误 C Program Files x86 MSBuild Microsoft VisualStudio v14 0 Windows Azure Tools 2
  • 如何使用 Hydra-fb 将配置文件收集到列表中?

    假设我有一个抽象类db在我的代码和类中db1 db1 db1继承自db 我的项目使用hydra https hydra cc 并具有以下结构 my app py conf yaml db db1 yaml db2 yaml db3 yaml
  • 将图像从phonegap应用程序上传到WCF服务

    我正在尝试使用phonegap文件传输API将图像从我的手机上传到WCF服务器 以下是我的代码 但我无法将图像上传到服务器 请给一些建议 测试 html div div div div
  • 使用 ZingChart 的多维堆叠条形图

    我正在尝试使用 ZingChart 创建多维堆叠条形图 据我所知 这是 由于某种原因 图像没有显示 它的链接是 https drive google com file d 0B14IyWv9zwZ9a0hWR0lXTDZQXzQ view
  • 如何创建像球拍一样的 make-curry 函数

    我想看看如何模仿 curry func that racket提供 下面是我如何手动柯里化函数的示例 lang sicp convert to a curried function define add1 x y x y define ad
  • 为什么background-filter:blur() 不能正常工作?

    我正在尝试实现这个图像 其中 带有文本 Dog 的 div 被部分覆盖并且blurring图片 所以我尝试了这个 profile background image url https townofbeekmantown com wp con
  • 如何将Dockerfile和应用程序文件部署到boot2docker

    我刚刚开始学习 Docker 我正在尝试在 Windows 上使用 boot2docker 进行简单的设置 我无法在任何在线教程或示例中找到如何使 boot2docker VM 可以访问我的项目文件 我下载了 boot2docker 并成功
  • jQuery 和其他库

    我在 jQuery 方面遇到了这个问题 并且不知道如何解决它 任何人都可以帮助或提供一些帮助 异常 组件返回失败代码 0x80070057 NS ERROR ILLEGAL VALUE nsIDOMXPathEvaluator evalua
  • 使用 ng-controller 时延迟模板加载

    我试图推迟加载我的主控制器 模板 AppController 直到我从服务加载用户配置文件 对于所有导航路线 我使用 routeProvider 进行解析 when edit editId templateUrl editTemplate
  • 在 ggplot2 中的一系列点周围放置边界

    我想在一系列点周围设置边界 我该怎么办 These are my points 我尝试了 geom line 但这显然是错误的 因为它产生了这个 Thanks Use geom path代替geom line 这是一个例子 i lt seq
  • 从旧的init_timer到新的timer_setup的适应

    我一直在尝试将驱动程序从 2 6 移植到 4 X 而没有原始板制造商的支持 并且 Linux 经验非常有限 原来的驱动使用的是init timer 并传入一个指向timer list结构 那timer list结构的data元素被设置为指向
  • WPF DragDrop.DoDragDrop(用于右键单击?)

    在 WPF 中 我想使用右键单击来启动拖放 像 Windows 资源管理器一样 右键单击 稍微移动 您就会得到装饰器来指示操作中的拖放 不要移动 当您松开按钮时 您会看到上下文菜单 我已经启动了这一切 但是当我调用 DragDrop DoD
  • 自然对齐的内存地址

    我需要从现有的64位值中提取一个内存地址 这个地址指向一个4K数组 起始值为 0x000000030c486000 我需要的地址存储在位 51 12 中 因此我使用以下方法提取这些位 address start gt gt 12 0x000
  • 如何从在线检查器中隐藏 codeigniter 足迹区域?

    这可以删除吗codeigniter来自在线工具的足迹区域 例如wappalyzer com or builtwith com并使 敏感项目技术无法检测 是的 这是可能的 首先 您需要知道它是如何被检测到的 看一下 Wappalyzer 代码
  • 如何使用 C# 'foreach' DataTable 中的列?

    如何使用循环遍历数据行中的每一列foreach DataTable dtTable new DataTable MySQLProcessor DTTable mysqlCommand out dtTable foreach DataRow
  • Node.js 和 Tornado 之间的差异[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 除了node js是用JS编写而Tornado是用Python编写之外 两者之间还有哪些区别 它们都是非阻塞异步 Web 服务器 对吧 除了语言
  • asp.net 中的文件处理程序

    我需要跟踪 pdf 在我的网络应用程序中打开的时间 现在 当用户单击链接时 我正在写入数据库 然后从后面的代码中使用 window open 这并不理想 因为 Safari 会阻止弹出窗口 而其他网络浏览器在运行时会发出警告 所以我想Fil
  • 继续 Jenkins 管道过去失败的阶段

    我有一系列执行快速检查的阶段 我想把它们全部完成 即使有失败 例如 stage one node sh exit 0 stage two node sh exit 1 failure stage three node sh exit 0 S