无法在 jenkins DSL shell 脚本中创建变量

Cannot able create variable in jenkins DSL shell script

我在 jenkins shell 脚本中创建新变量 (MY_VARIABLE) 时出现以下错误。在 jenkins dsl shell 脚本中,我只想创建一个变量并分配一些默认值并打印它。

javaposse.jobdsl.dsl.DslScriptException: (script, line 12) No such property: MY_VARIABLE for class: javaposse.jobdsl.dsl.jobs.FreeStyleJob
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScriptEngine(AbstractDslScriptLoader.groovy:112)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader$_runScripts_closure1.doCall(AbstractDslScriptLoader.groovy:59)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts(AbstractDslScriptLoader.groovy:46)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader$runScripts[=11=].callCurrent(Unknown Source)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScript(AbstractDslScriptLoader.groovy:85)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader$runScript.call(Unknown Source)
at com.sheehan.jobdsl.DslScriptExecutor.execute(DslScriptExecutor.groovy:27)
at com.sheehan.jobdsl.ScriptExecutor$execute.call(Unknown Source)

詹金斯代码是

job('ci') {
    description 'Build and test the app.'

    scm {
        github 'sheehan/job-dsl-playground'
    }
    steps {
        gradle 'test'
    }
    shell("""#!/bin/bash 
        MY_VARIABLE=5
        echo $MY_VARIABLE
    """)
    publishers {
        archiveJunit 'build/test-results/**/*.xml'
    }
 }

尝试转义美元符号:

job('ci') {
    description 'Build and test the app.'

    scm {
        github 'sheehan/job-dsl-playground'
    }
    steps {
        gradle 'test'
    }
    shell("""#!/bin/bash 
        MY_VARIABLE=5
        echo $MY_VARIABLE
    """)
    publishers {
        archiveJunit 'build/test-results/**/*.xml'
    }
 }