位置: 编程技术 - 正文

浅谈CI脚本异常退出问题定位(引发脚本异常)

编辑:rootadmin

推荐整理分享浅谈CI脚本异常退出问题定位(引发脚本异常),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:总出现脚本错误,脚本运行异常,脚本出错,脚本出错,脚本出现异常怎么解决,脚本出现异常怎么解决,脚本运行异常,引发脚本异常,内容如对您有帮助,希望把文章链接给更多的朋友!

背景

在CI脚本中,使用类似如下脚本进行项目编译的计时,但在执行过程中,有时会出现CI脚本(命名为ci.sh)未完全执行的情况:

这个脚本,只是模拟我们在CI中的程序,项目编译前计时,项目编译后再次计时,通过sleep休眠来模拟CI中项目编译锁消耗的时间,然后计算出消耗的时间。这个简化的脚本逻辑很简单,我们通过以下命令来调用:

  

这样执行好像并不会出错,那实际CI中为什么会出错呢?

分析

浅谈CI脚本异常退出问题定位(引发脚本异常)

首先,我们发现,当出现脚本未完全执行完成时,不会打印“process time(sec) are”这一句,也就是说错误是这句之前引起的。

另外,细心的朋友还会发现,在脚本的首行,我们给bash使用了-e参数,这个参数的作用就是,一旦shell脚本中任何一行出现了错误,shell脚本就停止运行。所谓的出现错误,也就是这行语句的返回值为非零。那么,CI脚本未完全执行的原因,很可能就是因为某一行语句出现了错误,导致脚本直接退出。

通过增加打印“echo $&#;”来打印上一行语句的执行结果,很快定位到报错的语句在计算处理时间的这一行:

 

这一行看起来十分普通,只是简单的用终止时间减去开始时间,然后赋值给process_time。为什么会返回非0值呢?

原来,expr命令有一个小小的trick,当expr表达式中的计算结果为0时,expr命令就会返回1,而不是通常的0。在我们实际的CI任务中,一旦某个项目编译时间非常短,在1秒钟内完成,那么起止时间系统,其差值也就为0,因此,expr就会返回非零值,而CI脚本也会因此而退出。

以上这篇浅谈CI脚本异常退出问题定位就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

Linux查找处理文件名后包含空格的文件(两种方法) 当Linux下文件名中出现空格这类特殊情况话,如何查找或确认那些文件名后有空格呢?又怎么批量替换处理掉这些空格呢?方法1:输入文件名后使用Tab

shell编程跨服务器备份文件 本文实例为大家分享了shell跨服务器备份文件的具体代码,供大家参考,具体内容如下需求:查询某个文件夹下的所有文件,将文件修改时间小于当前时

通过Spring Shell 开发 Java 命令行应用 提到Java,大家都会想到Java在服务器端应用开发中的使用。实际上,Java在命令行应用的开发中也有一席之地。在很多情况下,相对于图形用户界面来说

标签: 引发脚本异常

本文链接地址:https://www.jiuchutong.com/biancheng/368667.html 转载请保留说明!

上一篇:详解Linux中两个查找命令locate和find教程(linux有两个ip)

下一篇:Linux查找处理文件名后包含空格的文件(两种方法)(linux查找文件语句)

  • 报关单境外收货人错了怎么办
  • 房东口头答应减免房租又反悔了
  • 分公司可以用总公司的业绩吗
  • 现金股利缴纳个人所得税
  • 同一个人可以在两个地方交社保吗
  • 分支机构是不是需要设立账簿
  • 核定征收企业怎么分红的
  • 房地产公司固定资产管理制度
  • 材料验收入库款项尚未支付
  • 技术服务费属于现代服务吗
  • 代扣代缴的增值税怎么做账
  • 委托收款有什么用
  • 多扣社保个人部分怎么做分录
  • 通信服务费可以取消吗
  • 所得税汇算清缴补税的会计处理
  • 税控盘服务费跨年还能抵吗
  • 钢结构安装有哪些工种
  • 用于集体福利的进项税额转出
  • 免税投资背后的风险,你都清楚吗?
  • 开票的时候确认收入吗
  • 电子发票隔月可以报销吗
  • 电子发票截图可以吗
  • 公户批量扣费是啥意思
  • 本期就地缴纳的税额跟本期已缴税额
  • win10桌面网络图标怎么调出来
  • bios咋进入
  • linux管理员账户名
  • 坏坏狼故事绘本
  • php字符串赋值
  • php零基础入门
  • 企业财务管理的对象是什么
  • 代订机票发票可以入账吗
  • 流动资产金额
  • 详解16型人格
  • 帝国cms功能
  • java基础变量字节
  • 一般纳税人招待费扣除标准
  • 年末未分配利润怎么算
  • 开票信息修改
  • 纳税申报表上的销售额
  • 暂估管理费用跨年账务处理
  • 购车贷款分期利率
  • 营改增试点纳税人提供技术转让
  • 增值税专用发票金额与付款金额是否必须一致
  • 会计工资标准
  • 发票跨年冲红怎么做账
  • 账务处理程序的种类及各自的适用范围
  • 学校收到学生的礼物
  • 关于投资收益纳税的说法
  • 差旅费包干管理办法
  • 选择简易计税方法
  • 小规模纳税人不超过10万免增值税
  • 凭发票报销的通知简单
  • 什么是折旧费
  • 一些文件未注册怎么删除
  • 微软2016是window多少
  • ubuntu设置u盘启动项
  • 微软为什么放弃win10
  • centos6.10安装教程
  • windowsxp的安装方法
  • 有没有类似window的免费软件
  • 怎么取消win10通知消息
  • cad90度角
  • linux关闭sh
  • Windows设置在哪里
  • php九宫格
  • [置顶]马粥街残酷史
  • bootstrap快速入门
  • js中匿名函数的作用
  • vue使用mixin
  • nodejs webapp
  • 解决在基层
  • shell脚本特性
  • arcgis engine+c#实例开发教程
  • jQuery dataTables与jQuery UI 对话框dialog的使用教程
  • 小规模纳税人开专票可以抵扣吗
  • 西安税务稽查局举报中心
  • 湖北省税务系统欠税管理工作指南
  • 出口退税额与出口退税收入
  • 矿山耕地占用税计入什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设