位置: 编程技术 - 正文

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

  • 跨境电商小规模好还是一般纳税好
  • 已知税金及附加怎么算增值税
  • 在报税显示缺少发票信息
  • 税务机关的义务是依法征管
  • 商贸公司成本大吗
  • 季度申报利润表本月数怎么填
  • 税控服务费抵扣的文件
  • 社保次月缴纳上月算不算中断
  • 银行回单附言写错业务
  • 通过扣缴义务人和综合申报哪个好
  • 收到0税率的增值税发票
  • 免费赠送物业费活动语句怎么写
  • 盘亏设备一台
  • 不动产增值税怎么算
  • 小规模纳税人增值税优惠政策
  • 公司亏损转让股权
  • 增值税发票如何读入金税盘
  • 农产品收购发票怎么抵扣
  • 税控盘减免在哪里填报
  • 处于汇总期
  • 营改增后不动产发票样本
  • 把u盘变成光盘模式
  • linux ssh命令用法
  • 滴滴公司的员工打车要钱吗
  • 在linux中使用什么命令可以动态查看文件内容
  • 无形资产商标设计图片
  • 冲减管理费用的情况
  • 收到的销项负数要认证吗
  • 广告费和业务宣传费税前扣除基数
  • kb4592438安装失败
  • 实缴注册资本股权转让怎么交税
  • 材料费可抵扣进项税计算
  • 土地增值税安置房收入的确认原则
  • 解聘员工补偿金能拖欠吗
  • 应税消费品属于什么科目
  • vue中elementui怎么用
  • 持有至到期投资是什么意思
  • 前端常见面试
  • apache 反射工具类
  • 从农民手中收购烟叶的消费税
  • 结转坏账准备是什么意思
  • chrome插件开发拦截ajax
  • 小规模都是季度报税吗
  • 劳务公司属于什么
  • 进项税都有什么
  • 加计扣除的增值税怎么做账
  • 垃圾处理费申报怎么填
  • 企业购买的理财产品 亏损了,是否可以税前扣除
  • 怎么结转未交增值税
  • 转让无形资产或其他资产
  • 企业年度所得税怎么算
  • 一般纳税人销售旧货税率
  • 发票可否盖财务章
  • 股权变更的股东个税缴纳
  • 上年记错账了,本年如何调整
  • 承兑汇票兑现账户是什么
  • 企业的固定资产包括哪些内容
  • 公司员工住宿费标准
  • 暂估的费用次年调增怎么做会计分录
  • 会计什么情况下不用继续教育
  • 在MySQL中使用通配符时应该注意的问题
  • windows如何设置pin码
  • 详述目标成本法的内容和步骤
  • mac系统怎么清理Adobe残留
  • linux vmtool
  • soundtrax.exe - soundtrax是什么进程
  • 组策略配置锁屏
  • centos进入指定目录
  • linux中tail命令详解
  • 高通ar芯片
  • js创建类对象的方法
  • JQuery.Ajax()的data参数类型实例详解
  • node js安装教程
  • 为什么要建立文明城市
  • BUG: OpenGL error 0x0500 in -[CCEAGLView swapBuffers] 328
  • bootstrap tooltip
  • Clean Empty Directories on Unity3D and Git
  • unity获取鼠标点击的位置
  • asp.net mvc view
  • 网上如何申领电瓶车牌照
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设