如何在Jenkins Groovy中的多行shell脚本中设置变量?

Fo.*_*Fo. 47 groovy jenkins jenkins-workflow

假设我在Jenkins中有一个包含多行shell脚本的Groovy脚本.如何在该脚本中设置和使用变量?正常方式会产生错误:

sh """
    foo='bar'
    echo $foo
"""
Run Code Online (Sandbox Code Playgroud)

抓住:groovy.lang.MissingPropertyException:没有这样的属性:foo for class:groovy.lang.Binding

tim*_*tes 83

您需要更改为三重单引号'''或逃避美元\$

那么你将跳过那个给你这个问题的groovy模板


bpe*_*oso 11

我只是在行尾添加'\'

sh script: """\
  foo='bar' \
  echo $foo \
""", returnStdout: true
Run Code Online (Sandbox Code Playgroud)

此语句适用于我的脚本.