jenkins pipeline 运行超时后强制停止

        在Jenkins中,Pipeline是一种用于定义持续集成/持续交付(CI/CD)流程的工具。有时候,Pipeline的执行可能会超时,需要强制停止。

        要在Jenkins Pipeline中设置超时,并在超时后强制停止运行,可以使用Jenkins Pipeline的timeout指令。timeout指令允许您设置一个时间限制,并在超过该限制时中断Pipeline的执行。

下面是一个示例的Jenkins Pipeline脚本,用于设置超时并在超时后强制停止运行:

pipeline {
    agent any
    
    stages {
        stage('Build') {
            steps {
                // 执行构建步骤
            }
        }
        
        stage('Test') {
            steps {
                // 执行测试步骤
            }
        }
        
        stage('Deploy') {
            steps {
                // 执行部署步骤
            }
        }
    }
    
    options {
        timeout(time: 1, unit: 'HOURS') // 设置超时时间为1小时
    }
}

在上述示例中,Pipeline定义了三个阶段(Build、Test和Deploy),每个阶段都有相应的步骤。通过在Pipeline的options部分使用timeout指令,可以将超时时间设置为1小时。

如果Pipeline的执行超过了1小时,Jenkins将自动终止该Pipeline的执行,并将其标记为超时。

请注意,上述示例仅用于演示目的。您可以根据实际需求和Pipeline的复杂性进行相应的修改和调整。

############################################

设置超时

timeout(20) {
	..
}

默认时间单位为MINUTES,如果其他时间单位,则使用unit参数:SECONDS、MINUTES和HOURS

timeout(time: 20, unit: 'SECONDS') {
	..
}

任务- 超时时间

pipeline {
  options {
      timeout(time: 1, unit: 'HOURS')
  }
  stages { .. }
  // ..
}

 步骤 - 超时

pipeline {
    agent any
    stages {
        stage('Run') {
            steps {
                retry(3) {
                    sh './deploy.sh'
                }

                timeout(time: 3, unit: 'MINUTES') {
                    sh './ren_test.sh'
                }
            }
        }
    }
}

超时后继续执行


在上面的示例中,在阶段超时之后,流水线中止,并显示以下消息:

Sending interrupt signal to process Cancelling nested steps due to timeout

如果超时后,想要继续执行后续步骤,需要捕获异常。

pipeline {
    agent any
    stages {
        stage('Build-1') {
            options {
                timeout(time: 1, unit: 'HOURS') 
            }
            steps {
                script {
                    try {
                         sh './run_test.sh'
                    } catch (error) {
                         println "Error happened, continuing"
                    } 
                }
            }
        }    
    }

############################################

Jenkins job timeout

需要使用到这款插件:build timeout plugin,我是用的Jenkins版本是2.286,默认已安装了该插件,如果你的Jenkins中没有默认安装,可以在插件管理中搜索并安装。

配置方式非常简单,如下:

  1. 首先进入你想要配置超时时长的Job,然后找到Build Environment,勾选Abort the build if it’s stuck。
  2. 然后在其中配置Timeout minutes即可。
  3. 例如我想要配置60分钟后强制停止,那就可以写60。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/199425.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AntDB数据库:从海量数据处理,到5G计费商用核心

AntDB数据库自2008年研发面世以来,首先被应用于运营商的核心系统,满足运营商海量数据处理的需求。随着数字科技的不断发展,AntDB也在不断地更新迭代,逐渐地为更多行业与客户提供更全面的服务。5G时代来临,AntDB抓住发展…

uniapp设置手机通知权限

提醒用户开启通知权限,与unipush功能联用 效果图: 方法: 直接使用即可,在真机或模拟器运行 setPermissions() {// #ifdef APP-PLUS if (plus.os.name Android) { // 判断是Androidvar main plus.android.runtimeMainActivity…

【人工智能】人工智能的技术研究与安全问题的深入讨论

前言 人工智能(Artificial Intelligence),英文缩写为AI。 它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。 📕作者简介&#x…

【专题】支持向量机(Support Vector Machines,SVM)

​​​​​ ​​ 支持向量机(Support Vector Machines,SVM)是一种强大的监督学习模型,常用于分类、回归和异常值检测任务。它的核心思想是通过构建一个最大间隔超平面来有效地分隔不同类别的数据点。 在SVM中,数据点…

心大数据结构题型

选择题 2021 数据处理的单位:数据元素 矩阵压缩存储 2022 ①单链表头插法选择 ②矩阵压缩存储,行优先 ③删除链表节点的时间复杂度 ④稀疏矩阵存储 ⑤平衡二叉树时间复杂度 ⑥栈和队列的出队,问栈的大小至少多少 ⑦拓扑排序 ⑧参考书 360…

力扣142. 环形链表 II

文章目录 力扣142. 环形链表 II示例代码实现总结收获 力扣142. 环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达&#xff0c…

VT-VRPA2-1-1X/V0/T5控制4WRE6比例方向阀放大板

带阀芯位移反馈不带集成式放大器比例方向阀控制放大器,替代力士乐同型号产品,可以完全互换使用;适用于控制力士乐系列带电位置反馈的4WRE6通径和4WRE10通径2X系列比例方向阀;0~10V、4~20mA指令控制信号任意可选;直接安…

【算法刷题】Day8

文章目录 202. 快乐数解法: 11. 盛最多水的容器解法: 202. 快乐数 原题链接 拿到题,我们先看题干 把一个整数替换为每个位置上的数字平方和,有两种情况: 重复这个过程始终不到 1(无限死循环)结…

基于Java SSM框架+Vue实现药品保健品购物网站项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架Vue实现药品保健品购物网站演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 ssm药源购物网站,主要的模块包括两个用户,管理员权限:用…

盘点67个Android系统源码安卓爱好者不容错过

盘点67个Android系统源码安卓爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 源码下载链接:https://pan.baidu.com/s/1zOSFwPJwDJLFfoeRJy9llg?pwd8888 提取码:8888 项目名称 Accelera…

C# datagridview控件 绑定数据库中表中数据的方式-3

1.如下图所示,为数据库中的一张表结构,注意该表中共有11个字段 2.首先在窗体后台代码中拖入一个datagridview控件,并在窗体加载时,给datagridview控件添加列,添加的方式如下所示:请注意,每个列…

Zip压缩包密码如何取消?有密码?无密码?

Zip压缩包可以进行加密,相信大家都很了解,那么zip压缩包取消密码,大家了解多少呢?有密码的情况下,有哪些方法可以取消密码?无密码又该如何取消密码?今天将方法总结分享给大家。 最原始的方法&a…

Vim多行编辑

Vim多行编辑 Ctrlq进入多行编辑模式,然后上下选择要编辑的行 按下I或者Shifti,进入编辑模式 编辑的时候多行不会同时变化,不要担心,确实是多行编辑 编辑完成,想要结束多行编辑,按下Esc,此时…

Vue基本使用(一)

📑前言 本文主要是【Vue】——Vue基本使用的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&#x…

Linux后台运行jar包

Linux后台运行jar包 方式一 命令如下: java -jar /data/tools/jar/demo.jar注:/data/tools/jar:指定jar包所在位置,否则要在jar包所在位置运行改命令;当前ssh窗口被锁定,可按CTRL C打断程序运行&#xf…

Mysql更新Blob存储的Josn数据

Mysql更新blob存储的Josn数据 记录一次mysql操作blob格式存储的json字符串数据 1、检查版本 -- 版本5.7以上才可以能执行json操作 select version(); 2、创建测试数据 -- 创建测试表及测试数据 CREATE TABLE test_json_table AS SELECT UUID(), {"test1": {"…

重工业ERP包含哪些模块?能为企业带来哪些优势

化工、五金、重型机械制造等重工业行业的经营管理模式存在明显的差别化,企业内部的盘点、发货、接单、报价、委外、排产、派工单、工艺、品检等各业务数据的实时和准确共享有利于企业清晰掌握运作情况,及时制定经营策略,提高对市场变化的反应…

【数据结构】树与二叉树(廿五):树搜索给定结点的父亲(算法FindFather)

文章目录 5.3.1 树的存储结构5. 左儿子右兄弟链接结构 5.3.2 获取结点的算法1. 获取大儿子、大兄弟结点2. 搜索给定结点的父亲a. 算法FindFatherb. 算法解析c. 代码实现 3. 代码整合 5.3.1 树的存储结构 5. 左儿子右兄弟链接结构 【数据结构】树与二叉树(十九&…

如何优化索引?

前缀索引 这个操作是为了减少索引长度,即占用空间的。这样一个页可以多存一些索引,查找时候就会更快了。但是前缀索引有俩缺点,一个是ORDER BY或GROUP BY时候没法用,另一个是没法用做覆盖索引(因为索引本来自己都不全…

nodejs+vue+elementui图书馆教室自习室座位预约管理系统93c8r

本系统利用nodejsVue技术进行开发自习室预约管理系统是未来的趋势。该系统使用的编程语言是nodejs,数据库采用的是MySQL数据库,基本完成了系统设定的目标,建立起了一个较为完整的系统。建立的自习室预约管理系统用户使用浏览器就可以对其进行…