位置: 编程技术 - 正文

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

  • 现代服务是可以做什么的
  • 房产税与土地使用税如何申报
  • 用友t6会计科目在哪里找
  • 会计工资标准
  • 京东开专用发票需要用公户付款吗
  • 辞退职工赔偿金如何计算
  • 企业合并所得税筹划
  • 总公司的哪些费用要交税
  • 物业公司前期工作计划
  • 运输业增值税专用发票开具要求
  • 积累与消费比例怎么计算
  • 我公司开给对方13个点发票,后期我公司怎么抵税
  • 钢结构制作安装合同
  • 新个税申报身份怎么填
  • 工会经费具体用途是什么
  • 个人承包工程如何合理避税
  • 啥叫规上工业企业
  • 防伪税控设备丢失需要处罚吗
  • 华为手机屏幕变成黑白色怎么恢复
  • 怎么把qq垃圾全部清除
  • msvcp140.dll丢失怎么办
  • 启动电脑显示器不亮怎么回事
  • w10如何删除微软拼音
  • 农产品进项税额转出怎么算
  • et.exe进程占用
  • 企业清缴汇算
  • 最贵的游戏宣传片
  • 很值得收藏
  • thinkphp 插件
  • 车船税不计提怎么做分录
  • php 收邮件
  • yolov5目标检测流程图
  • 大学毕业后送快递
  • php获取ua
  • 公司购买黄金送客户可以取得进项抵税吗
  • 常见的垃圾回收器有哪些
  • 生产车间年终奖计入什么科目
  • 织梦会员功能
  • 同一控制下企业合并发生的审计费用计入
  • 商业会计与财务会计的相同
  • 成本核算需要哪些单据
  • sql游标用法
  • 信用减值借贷方向增减
  • 应付职工薪酬的账务处理
  • 贸易公司成本如何计算
  • 以货换货如何做账
  • 补缴税款需要交滞纳金吗
  • 餐饮行业购入农产品
  • 弥补以前年度亏损后缴纳所得税
  • 研发支出费用化对财务报表的影响
  • 自建不动产领用原材料增值税进项
  • 预存话费发票能报销吗
  • SQL2005、SQL2008允许远程连接的配置说明(附配置图)
  • mysql 序列化转数组
  • centos6.5配置网络
  • win7鼠标右键没有压缩文件
  • win7系统调亮度怎么调
  • wdsvc.exe - wdsvc 是什么进程
  • windows10的便签纸在哪
  • squid详细
  • messengerd
  • win8的计算器在哪里
  • win8出现蓝屏怎么修复
  • windows 10 周年更新
  • linux iocp
  • cocos2d-x安装
  • 前端node跨域处理
  • android导入别人的程序报错
  • 每日一个linux命令
  • python调用ansible执行playbook
  • js获取浏览器类型和版本信息
  • unity如何导入资源文件
  • unity 设置物体角度
  • scrapy python
  • unity打包后的程序闪退
  • 怎样在电子税务局查询财务报表
  • 生产变压器设备
  • 临时搭建的活动叫什么
  • 上海手撕发票多少钱一本
  • 国税巡察反馈意见建议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设