gpt4 book ai didi

java - Jenkins 2.0 管道 println 不工作

转载 作者:行者123 更新时间:2023-12-04 20:41:53 25 4
gpt4 key购买 nike

鉴于此 FirstScript.groovy:

class FirstScript implements Serializable{
def firstFunction() {
println "This print doesn't work"
return "This string can be returned and printed"
}
}

return new FirstScript()

还有这个管道代码:

node("Slave") {
checkout scm
def firstScript = load 'FirstScript.groovy'
echo firstScript.firstFunction()
}

唯一的输出是“This string can be returned and printed”。

这显然会发生,因为 println 发生在从机的输出流上,而不是在主机的输出流上,但我需要一种方法来连续地将内容从从机打印到主机的控制台日志。尝试将 System.out 从主机传递给从机,但没有效果。

有什么建议吗?

最佳答案

嘿,我不清楚为什么 println 不工作,但很好,这是有道理的。如果你有一堆共享代码要写,你可能想使用 jenkins shared library .您可以在共享库的 vars 中使用 echo

如果你想让你的例子“按原样”工作,你可以将管道上下文注入(inject)到 firstFunction 中:

FirstScript.groovy:

class FirstScript implements Serializable{
def firstFunction(dsl) {
dsl.echo "This print doesn't work. well now it does. :)"
return "This string can be returned and printed"
}
}

return new FirstScript()

Jenkins 文件:

node("docker") {
checkout scm
def firstScript = load 'FirstScript.groovy'
echo firstScript.firstFunction(this)
}

关于java - Jenkins 2.0 管道 println 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com