带有 sh 的 Jenkins 脚本管道不适用于多行脚本
Jenkins scripted pipeline with sh is not working for multi line script
enter image description here
node {
stage('Stage 1')
{
sh "echo ${WORKSPACE}"
}
stage('Stage 2')
{
sh
'''
echo ${WORKSPACE}
'''
}
}
刚刚获得了简单的脚本化管道,它已停止执行包含在 'sh' 下的多行 shell 命令。片段如附图所示。
这是我在执行第 2 阶段时遇到的错误。您能告诉我如何解决这个问题吗?
在 'Script console' 中尝试了 运行,但没有成功
import jenkins.model.*
jenkins = Jenkins.instance
错误运行 Jenkins 第 2 阶段如下所示。
groovy.lang.MissingPropertyException: No such property: sh for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)
at org.kohsuke.groovy.sandbox.impl.Checker.call(Checker.java:241)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28)
at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
at WorkflowScript.run(WorkflowScript:10)
at ___cps.transform___(Native Method)
at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
多行sh块也应该从同一行开始:-
stage('Stage 2')
{
sh '''
echo ${WORKSPACE}
'''
}
enter image description here
node {
stage('Stage 1')
{
sh "echo ${WORKSPACE}"
}
stage('Stage 2')
{
sh
'''
echo ${WORKSPACE}
'''
}
}
刚刚获得了简单的脚本化管道,它已停止执行包含在 'sh' 下的多行 shell 命令。片段如附图所示。
这是我在执行第 2 阶段时遇到的错误。您能告诉我如何解决这个问题吗?
在 'Script console' 中尝试了 运行,但没有成功
import jenkins.model.*
jenkins = Jenkins.instance
错误运行 Jenkins 第 2 阶段如下所示。
groovy.lang.MissingPropertyException: No such property: sh for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)
at org.kohsuke.groovy.sandbox.impl.Checker.call(Checker.java:241)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28)
at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
at WorkflowScript.run(WorkflowScript:10)
at ___cps.transform___(Native Method)
at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
多行sh块也应该从同一行开始:-
stage('Stage 2')
{
sh '''
echo ${WORKSPACE}
'''
}