此问题是由Jenkins的CPS引起的,该CPS将所有管道执行序列化以存储为可恢复状态。
不可序列化方法的调用必须包装在带有以下注释的方法中
@NonCPS:
@NonCPSString getVersion(String binaryName) { def matches = (binaryName =~ /(V)(d+)(_)(d+)(_)(Build)(_)(d+)/) versionTag = ""+matches[0].getAt(0) versionTag}现在可以从管道中调用此方法。如果您的Jenkins主服务器在执行此方法期间重新启动,它将完全通过它运行-在许多情况下(例如您的情况),绝对没有问题。



