Groovy - Jenkins 管道 - Groovy CPS 不通过 .each Line 方法
Groovy - Jenkins Pipeline - Groovy CPS doesn't go trough .eachLine method
我正在尝试 运行 Jenkins 管道脚本中的这段代码:
def getTags = { svnurl ->
def command = ["svn","ls","${svnurl}"];
def proc = command.execute()
proc.waitFor()
proc.in.eachLine {
println(it)
}
}
getTags('http://svnurlexample.net/');
结果应该是 svn 位置的文件夹列表,但我得到的是一个错误:
[管道]回声:
1.0.0/
本应调用 java.lang.ProcessImpl$ProcessPipeInputStream.eachLine 但最终调用了 org.jenkinsci.plugins.workflow.cps.CpsClosure2.call
proc.in.eachLine 导致了这个问题,好像 Groovy 找到了该位置上的第一个文件夹但无法处理其余文件夹并报告错误。
这对我有用:
@NonCPS
def getTags (svnurl) {
def command = ["svn","ls","${svnurl}"];
def proc = command.execute()
proc.waitFor()
proc.in.eachLine {
println(it)
}
}
getTags('http://svnurlexample.net/');
我正在尝试 运行 Jenkins 管道脚本中的这段代码:
def getTags = { svnurl ->
def command = ["svn","ls","${svnurl}"];
def proc = command.execute()
proc.waitFor()
proc.in.eachLine {
println(it)
}
}
getTags('http://svnurlexample.net/');
结果应该是 svn 位置的文件夹列表,但我得到的是一个错误:
[管道]回声:
1.0.0/
本应调用 java.lang.ProcessImpl$ProcessPipeInputStream.eachLine 但最终调用了 org.jenkinsci.plugins.workflow.cps.CpsClosure2.call
proc.in.eachLine 导致了这个问题,好像 Groovy 找到了该位置上的第一个文件夹但无法处理其余文件夹并报告错误。
这对我有用:
@NonCPS
def getTags (svnurl) {
def command = ["svn","ls","${svnurl}"];
def proc = command.execute()
proc.waitFor()
proc.in.eachLine {
println(it)
}
}
getTags('http://svnurlexample.net/');