位置: 编程技术 - 正文

浅谈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查找文件语句)

  • 个体工商户开劳务发票税率
  • 个人经营所得税起征点是多少
  • 公益性捐赠税前扣除资格有效期
  • 赠与税是什么税种
  • 预收账款怎么做财务分析报告
  • 2019年地方各项基金费申报表填写错误要交滞纳金吗
  • 电子行程单自己打印
  • 股息红利所得如何缴纳个人所得税
  • 受托代销商品手续费会计分录
  • 营改增后众筹融资业务的会计处理分析
  • 什么费用计入什么科目
  • 月末收到一批b材料,结算凭证未到,估价50000
  • 机动车发票可以红冲重开吗
  • 公司增值税发票有限额吗
  • 纳税人签章填什么
  • 注册资金印花税什么时候开始交
  • 注册了店面没有营业执照
  • 个体工商户开9%的税需要什么
  • 2019增值税改革政策解读
  • 工资一直计提但是未发有影响吗
  • 坏账准备如何做账
  • 退休返聘人员如何辞职
  • 旅游 服务业
  • 有哪些常见的不可数名词英语
  • 个体户变更为有限公司成立时间
  • 浅谈PHP发送HTTP请求的几种方式
  • 带息应收票据会计处理
  • 动产租赁增值税税率最新
  • php开发模板
  • yolov4tiny网络结构
  • 公司代买社保怎么收费
  • 帝国cms商城教程
  • 购买工业用地
  • 海关票怎么做账
  • 补缴去年的附加税怎么算
  • 哪些进项税额不能抵扣
  • 企业投资股权收益如何征税
  • 收到加工费怎么做账务处理分录
  • 未使用的机器设备有没有实体性贬值
  • 实收资本未实缴是否罚款
  • 固定资产融资租出对应入账科目
  • 账务处理有哪几种
  • 现金日记账与现金流量表的区别
  • sql server.
  • CentOS6.7 mysql5.6.33修改数据文件位置的方法
  • 在Linux环境下mysql的root密码忘记解决方法(三种)
  • win8.1的开始菜单在哪
  • windows无法启动wlanautoconfig服务
  • windows照片查看器在哪打开
  • mac os常用快捷键
  • 苹果笔记本安装win10
  • win7系统怎么调出运行窗口
  • win7安装kb3170455失败
  • shell source不起作用
  • javascript数据结构与算法项目计算找零
  • perl中@_
  • unity热更新一般更新什么
  • 基于javascript的毕业设计
  • Android Bound Service(二) ----- Using AIDL
  • vue两个花括号
  • 谈一谈js中的执行者是谁
  • vue中使用类class
  • python twinter
  • python处理文本文件代码优化
  • 百度坐标转换成WGS84坐标
  • 基于python的
  • javascript怎么学
  • 怎样编?
  • High Level Networking Concepts
  • 3、BluetoothChat之BluetoothChatService.java
  • js调用声音
  • apk反编译去广告教程
  • 山西地方税务局领导班子
  • 税务局县区级及以下
  • 演艺明星
  • 贵阳市税务局投诉电话号码
  • 关税下降的好处
  • 固定资产原值包括哪些
  • 一般纳税人选择简易计税
  • 国税申报时间2023年10月
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设