位置: 编程技术 - 正文

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

  • 税率变化递延所得税资产怎么计算
  • 网约车有电子发票吗
  • 网络公司可以开展什么业务
  • 预付冲应付会计分录摘要
  • 企业公益性捐赠支出税前扣除标准
  • 递延所得税如何申报
  • 收到一达通退税款怎么做账
  • 首次购买税控设备政策
  • 虚开发票走账对方不返还如何处理?
  • 境外企业提供软件使用权给境内企业
  • 企业理财收入交哪些税
  • 集团公司转股要交印花税吗?
  • 报关税怎么做账
  • 地税收的其他政府基金计入科目及收益
  • 单位有临时工工资怎么发
  • 福利费抵扣了进项税有2年了怎么办
  • 集团企业涉税需求网络
  • 交易性金融资产和长期股权投资的区别
  • 应付账款核销法律规定
  • 公司的固定资产如何转变为股东资产
  • 租赁发票多少点
  • 1500元左右打游戏最好的手机
  • 进口货物完税价格名词解释
  • 收到工会经费返还属于现金流量表哪
  • 赠送的商品怎么入库 企业会计准则
  • 金税四期查到了怎么办
  • 党团活动经费如何节约
  • 银行多收的开户费怎么办
  • 代理进口合同如何签署
  • 结转代销产品成本会计分录
  • 出口退税一般退什么税
  • php调用远程桌面
  • php延迟2秒执行
  • 谈谈cookie的弊端
  • 移民美国怎样加入医疗保险
  • 生物制品简易征收文件
  • 损益类科目资产增加在借方还是贷方
  • yolov5配置
  • 解决谷歌浏览器自动添加书签问题
  • 前端环境部署到服务器开发环境
  • javaweb实例教程
  • 开源原则
  • RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas‘
  • php+jQuery+Ajax简单实现页面异步刷新
  • 微擎框架是开源的吗
  • 基本生产成本和辅助生产成本区别
  • 织梦前台数据不能存入中文
  • 接待客户的住宿费发票是开谁的
  • 坏账准备抵消期初未分配利润
  • 印花税漏交了有什么影响
  • 跨年发票两大原则
  • 小微企业预缴所得税怎么填报
  • 总账与总账之间的核对
  • 计提坏账准备金是什么意思
  • 费用报销单一张写不完怎样转下一张?
  • 建筑 营改增
  • 工业企业出售产品应交的消费税额,应计入营业成本
  • 本期盈余结转会亏损吗
  • 借贷必相等的含义
  • 鉴证咨询公司
  • 加权净资产收益率越高越好吗
  • 一年不到
  • sql语句训练题及答案
  • 电脑连接宽带时出错怎么办
  • 多系统安装方法
  • 移动硬盘做win7系统盘
  • win10家庭版专业版教育版
  • bat怎么设置
  • html框架frameset代码
  • 工作笔记都写什么内容
  • jquery创建表格
  • 国家税务总局手工发票查询平台
  • 建筑施工企业研发中心建设
  • 新税法折旧年限怎么算
  • 购房合同交契税怎么交
  • 个人所得税税率怎么算
  • 公务员考试税局
  • 北京朝阳国家税务总局
  • 买车购置税去哪里交钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设