位置: 编程技术 - 正文

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

  • 股东利润分配怎么做账
  • 车船税的免征对象是什么
  • 利息收入纳税义务时点
  • 支票退票怎么做账务处理
  • 收回的伙食费计什么科目
  • 其他应付款包括哪些内容口诀
  • 发票上有字迹可以拿去作废吗
  • 定期定额不开票违法吗
  • 子公司分红母公司缴税吗
  • 分公司的税收机关在总公司还是分公司
  • 发票认证抵扣后还有用吗
  • 发票开票人是管理员可以吗
  • 个人抬头发票可以抵税个人所得税吗
  • 收到外币货款的汇率
  • 境外支付佣金如何开发票
  • 收社团费用怎么说
  • 计提水利建设基金的依据
  • 对公账户打钱给私人账户,谁交税呢
  • 通行费发票如何开具
  • 利润是负数不用计提所得税规定是什么?
  • 所得税汇算清缴补税的会计处理
  • 汽车租赁公司怎么赚钱
  • 2018年上专科什么时候毕业
  • 物流公司转包出售合法吗
  • 个税专项附加扣除是什么意思
  • 结转电费成本会计分录
  • 预付卡发给员工如何入账
  • mac怎么连接校园网网线
  • bios设置启动顺序(图解说明)
  • 金蝶系统怎么修改库存数量
  • 网速突然变差是什么原因
  • 工作组只能看到自己
  • 世界十大销量书
  • 当财务报表中列报对应数据时
  • 兰斯洛特
  • php怎么转go
  • php获取flag
  • 纳税人识别号的英文缩写
  • MySQL的LEFT JOIN表连接的进阶学习教程
  • 织梦如何使用
  • 二季度盈利三季度亏损
  • 应交增值税进项税额为什么记借方
  • 记账凭证基本内容口诀
  • 所得税核定征收的政策
  • 进口葡萄酒政策
  • 安全基金提取会计分录
  • 融资租赁开具的发票内容
  • 报销原材料运输费怎么算
  • 净资产增加是好还是坏
  • 如何暂估费用会计分录
  • 装饰公司工地
  • 红字发票最多几个月
  • 待认证进项税额和待抵扣进项税额的区别
  • 电子钥匙有效期多久
  • 大数据量高并发症有哪些
  • mysql sql行转列
  • [视频]看科学家如何将纯净水变成金属
  • windows故障
  • win2003r2企业版密钥
  • mac虚拟机安装教程win10正版
  • 删除微软
  • centos如何清除硬盘数据
  • winoldap.exe - winoldap进程是什么意思
  • nmeo.exe是什么
  • win10h2版本
  • windows预体验版本遇到问题
  • 怎样从零开始
  • css 网页布局
  • cocos2dx运行原理
  • Node.js中的全局变量有哪些
  • vue是如何实现双向绑定的
  • jquery 异步请求
  • jquery实现自动轮播
  • Unity3D游戏开发毕业论文
  • jquery全局方法
  • 增值税9%税率适用范围2023
  • 浙江省国税公务员工资
  • 河南2020年机构改革
  • 供热企业税收优惠政策执行情况
  • 郑州金水区税务大厅电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设