jenkins:pipeline比较字符串数的大小

背景:正在用jenkins做android的单测增量覆盖率,并要求覆盖率小于80%视为构建失败

 

增量覆盖率:是从全量报告里分析出来的,并用shell获取到的数值,所以pipeline获取到的数值是字符串

思考:

1、本来打算将字符串转换为整型,但是Groovy里的parseInt在pipeline里会报错

2、将阈值也设置为字符串,比较的时候不行,比如"100" < "80"会显示100比80小,此做法不行

3、对jenkins pipeline的groovy语法不是很了解什么可以使用,什么不可以使用,所以打算用shell完成计算

4、用shell的if else发现也不太合适,可能还需要写脚本,所以选用shell的awk语句,用于一句话就可以完成两个字符串数字的比较,如下为pipeline的测试

def THRESHOLD = "100"        
def coverage = "84"
def result = sh(  returnStdout: true, script: " echo \"${coverage} ${THRESHOLD}\" | awk '{if(\$1>\$2){print '1'}else {print '0'}}' | xargs echo -n")
echo "result = ${result}"
if (result == "1"){
    echo "acess success"
}else{
    echo "access failed"
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值