Jenkins声明性管道环境变量,用于保存python命令输出的输出

时间:2019-03-12 14:54:01

标签: groovy jenkins-pipeline jenkins-declarative-pipeline

我希望在环境{}部分的变量中具有以下shell命令的输出,以便可以在所有阶段访问相同的命令,但是会遇到一些奇怪的错误,请帮忙

我在下面尝试过,但没有一个起作用

def ara_location = sh(script: '''
                          python3 -c "import os,ara; print(os.path.dirname(ara.__file__))"''', returnStdout: true)

def ara_location = sh (returnStdout: true, script: '''python3 -c "import os,ara; print(os.path.dirname(ara.__file__))"''').trim()

我遇到了错误

hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.div() is applicable for argument types: (null) values: [null]
Possible solutions: is(java.lang.Object), wait(), trim(), size(), size(), find()
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:153)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:155)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:159)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
    at WorkflowScript.run(WorkflowScript)

我无法使其正常工作,因此我确实在每个阶段都导出了这些var。

0 个答案:

没有答案