位置: 编程技术 - 正文

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

  • 捐赠支出纳税调减
  • 个人出租商铺如何缴纳房产税
  • 小规模交社保有人数限制吗
  • 个人生产经营所得税计算器
  • 建筑业机械设备是指什么
  • 境外中资企业转让股权的涉税处理
  • 客户减免费用邮件怎么写
  • 合同金额与结算金额一致,如何约定
  • 按月计提短期借款利息12000元
  • 收到总公司投资款怎么做账务处理
  • 委外研发费用如何开票
  • 进口免税店的东西都是正品吗
  • 发给职工的福利要交个税吗
  • 不能抵扣的进项发票怎么做分录
  • 境外企业提供软件使用权给境内企业
  • 简易征收的增值税可以在税前列支吗
  • 小规模纳税人应纳税额的计算
  • 出租不动产什么时候交税
  • 企业车辆保险费要按什么交印花税的
  • 企业打给个人的费用如何节省个税
  • 固定资产 盘点
  • 外贸过程中的银行是什么
  • 银行承兑汇票的转让一般通过什么渠道
  • 销售货物货款未收到会计分录
  • html前端技术
  • 金融企业贷款逾期怎么办
  • js16.vip
  • 承包安装工程怎么报价
  • 商品购进核算
  • 公司网站维护费用计哪个科目
  • php解析配置文件
  • 财行〔2019〕11号代扣代缴手续费的解读
  • 少数股东权益贷方表示什么意思
  • 如何查询企业财务负责人是否变更了
  • 其他债权投资按公允价值计量,为什么计提减值准备
  • php js
  • mm32开发教程
  • ts类型声明 要为某个文件里的变量声明吗
  • 连带责任担保会被拘留吗
  • 应收账款属于哪个会计要素
  • 社保费怎么做记账凭证
  • 新合同旧合同的法律依据
  • mac安装mysql8.0
  • 费用报销单怎么填写
  • sql动态执行
  • 处理固定资产如何做账
  • 无形资产摊销是按原值吗
  • 审计岗位能力要求是什么
  • 餐费计入哪个科目合理避税
  • 小规模纳税人取得普通发票可以抵扣吗
  • 购买产品样品计入什么科目
  • 出口海运费222011
  • 企业给员工单独交社保
  • 收到银行的贷款怎么做会计分录
  • 公司自己制造设备怎么办
  • 银行利息收入如何记账
  • 待认证进项税额借贷方向
  • 退回以前年度所得税账务处理
  • 哪些计入研发费用
  • 应付账款在贷方负数
  • 发票对方没有上传,无法勾选发票要怎么办
  • 收到红字发票如何处理
  • ubuntu软件安装
  • win7旗舰版系统还原无法启动
  • win8系统怎么改win10
  • 在u盘里装win7
  • 怎么激活win7旗舰版系统
  • windows开始界面
  • WIN10系统中软件打开找不到网络共享盘
  • Ext JS 4实现带week(星期)的日期选择控件(实战一)
  • android observer
  • js出错
  • windows8.1 with bing
  • angular 创建项目
  • IE8 新增的Javascript 开发接口说明
  • jquery导航菜单
  • 山东无犯罪记录证明网上申请
  • 个人所得税子女教育和赡养老人抵扣多少税
  • 我们要什么行政执法监督机制和能力建设严格落实行政
  • 关于车辆购置税的申报与缴纳下列说法正确的有
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设