【发布时间】:2017-05-26 11:49:47
【问题描述】:
我在 Groovy 脚本中遇到问题,其中变量在 shell 脚本部分中不可访问。
脚本-1:
def a=20;
println ("a is: $a");
输出-1:
a is: 20
脚本-2:
def a=20;
println ("a is: $a");
sh '''echo a is $a''';
输出 2:
groovy.lang.MissingMethodException:没有方法签名:Script1.sh() 适用于参数类型:(java.lang.String) 值:[echo a is $a] 可能的解决方案:use([Ljava.lang.Object;), is(java.lang.Object), run(), run(), any(), with(groovy.lang.Closure) 在 Script1.run(Script1.groovy:3)
我怎样才能在外壳部分sh 中获得$a = 20。换句话说,在shell脚本部分传递变量$a需要什么操作。
我正在 Jenkins 管道的上下文中编写此脚本,我遇到了一个问题,即常规变量在 shell 部分中不可见。
【问题讨论】:
标签: jenkins groovy jenkins-pipeline jenkins-2