如何在多行 shell 中读取 Jenkins 管道变量?

Sre*_*ari 2 jenkins jenkins-groovy jenkins-pipeline

我正在尝试创建一个 Jenkins 管道,我需要在其中执行多行 shell 命令。

stage ('Test'){
name="myserver"
sh '''
    "ssh -o StrictHostKeyChecking=no ${myserver} 'rm -rf temp && mkdir -p temp && mkdir -p real'"
'''

}
Run Code Online (Sandbox Code Playgroud)

但它总是以“找不到命令”的形式返回错误。如果我运行相同

sh "ssh -o StrictHostKeyChecking=no ${myserver} 'rm -rf temp && mkdir -p temp && mkdir -p real' "
Run Code Online (Sandbox Code Playgroud)

是否有不同的方式来访问多行 shell 中的变量?

Tom*_*rre 8

您需要像这样使用 """:

sh """
    "ssh -o StrictHostKeyChecking=no ${myserver} 'rm -rf temp && mkdir -p temp && mkdir -p real'"
"""
Run Code Online (Sandbox Code Playgroud)