JobDSL 中的多行 powershell 命令
Multiple line powershell command in JobDSL
我正在修改 JobDSL,但似乎无法找到一种方法来一次性 运行 多个 powershell 命令。示例:
job('whatever'){
steps{
powershell("""$var = $env:mybuildvar
cmdlet2 $var""")
}
}
我该如何实现?谢谢!
“”“”“”似乎适用于批处理,但不适用于 powershell。
此外,如果我尝试使用 $var 进行转义或不使用 JobDSL,则会失败
ERROR: (sandbox_CI_Dev, line 15) No signature of method:
javaposse.jobdsl.dsl.helpers.step.StepContext.powershell() is
applicable for argument types: (java.lang.String) values: [$var =
$ENV:mybuildvar]
该错误可在 jobdsl playground (http://job-dsl.herokuapp.com/) 上重现,请使用以下代码(或任何与上述代码类似的代码):
job('whatever') {
steps{
powershell("write-output $")
}
}
powershell('write-output test; write-output test') 也不起作用
方法名称是powerShell
,不是powershell
。参见 https://jenkinsci.github.io/job-dsl-plugin/#path/job-steps-powerShell。
和 Groovy 插入双引号字符串,参见 String interpolation。如果要使用美元符号 ($
),则需要使用单引号来避免插值,例如'$var'
。对多行字符串使用三重单引号。
job('whatever'){
steps{
powerShell('''$var = $env:mybuildvar
cmdlet2 $var''')
}
}
我正在修改 JobDSL,但似乎无法找到一种方法来一次性 运行 多个 powershell 命令。示例:
job('whatever'){
steps{
powershell("""$var = $env:mybuildvar
cmdlet2 $var""")
}
}
我该如何实现?谢谢!
“”“”“”似乎适用于批处理,但不适用于 powershell。 此外,如果我尝试使用 $var 进行转义或不使用 JobDSL,则会失败
ERROR: (sandbox_CI_Dev, line 15) No signature of method: javaposse.jobdsl.dsl.helpers.step.StepContext.powershell() is applicable for argument types: (java.lang.String) values: [$var = $ENV:mybuildvar]
该错误可在 jobdsl playground (http://job-dsl.herokuapp.com/) 上重现,请使用以下代码(或任何与上述代码类似的代码):
job('whatever') {
steps{
powershell("write-output $")
}
}
powershell('write-output test; write-output test') 也不起作用
方法名称是powerShell
,不是powershell
。参见 https://jenkinsci.github.io/job-dsl-plugin/#path/job-steps-powerShell。
和 Groovy 插入双引号字符串,参见 String interpolation。如果要使用美元符号 ($
),则需要使用单引号来避免插值,例如'$var'
。对多行字符串使用三重单引号。
job('whatever'){
steps{
powerShell('''$var = $env:mybuildvar
cmdlet2 $var''')
}
}