「Jenkins Pipeline」- expected to call xxx but wound up catching xxx @20210219

问题描述

在 Jenkins Pipeline 中,我们从控制台中看到类似如下提示信息:

expected to call org.jfrog.hudson.pipeline.common.types.ArtifactoryServer.download but wound up catching artifactoryDownload;
see: https://jenkins.io/redirect/pipeline-cps-method-mismatches/

问题原因

正如页面 Pipeline CPS Method Mismatches / Use of Pipeline steps from \@NonCPS 所说:

but non-CPS-transformed code may not call CPS-transformed code.

解决方法

我们遇到该警告的原因有一下几种:

场景一:在带有 NonCPS 注解的方法中,调用 Jenkins Pipepline 的步骤(Step),导致该提示出现 # 09/21/2020

解决方法:去掉方法的 NonCPS 注解,但是需要对 Closure 进行改写,转为使用普通的语法。

场景二:在 eachLine 中,调用 Jenkins Pipeline 方法,导致该提示出现 # 01/25/2021

Pipeline CPS Method Mismatches

我们在 String 的 eachLine 中使用 Jenkins Pipeline Step sh 导致出现该提示(该问题与「场景一」类似)。

解决方法:我们改用 split("\\r?\\n") 进行字符串分割,然后使用 for 循环进行处理。

参考文献

Pipeline CPS Method Mismatches

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值