Jenkins:hudson.AbortException:TEST 的实例计划 CPU 值无效

Jenkins: hudson.AbortException: Invalid instance plan CPU value for TEST

詹金斯 2.277.2 我对 groovy 和 groovy 运算符没有那么丰富的经验,但是 不确定逻辑有什么问题...

出现此错误:

实例计划是 dashDBStandard 内核是 4,RAM 是 16

...

hudson.AbortException:TEST

的实例计划 CPU 值无效
'''
    print "Instance plan is ${db2instance_plan} Cores are ${cores} and RAM is ${ram}"
                            if ((db2instance_plan == 'dashDBStandard') && (cores > '16')) {
                               error "Invalid instance plan CPU value for TEST"
                            }
                            if ((db2instance_plan == 'dashDBStandard') && (ram > '64')) {
                               error "Invalid instance plan RAM value for TEST"
                            }
                            if ((db2instance_plan == 'dashDBNebula') && (cores < '4' )) {
                               error "Invalid instance plan CPU value for PROD"
                            }
                            if ((db2instance_plan == 'dashDBNebula') && (ram < '16' )) {
                               error "Invlaid instance plan RAM for PROD"
                            }

'''

Jenkins 管道中的 error 关键字只是抛出带有指定消息的 hudson.AbortException(停止执行)。

但看起来您正在将 coresram 参数视为字符串,因此 > 运算符将比较字符串而不是您可能想要的数字。

如果您输入的参数是整数,只需使用以下内容:

if ((db2instance_plan == 'dashDBStandard') && (cores > 16)) {

否则,如果输入是字符串,您可以将其转换为数字:

if ((db2instance_plan == 'dashDBStandard') && (cores.toInteger() > 16)) {

有关将字符串转换为数字的其他方法,请参阅 This Question