gpt4 book ai didi

powershell - JobDSL 中的多行 powershell 命令

转载 作者:行者123 更新时间:2023-12-01 23:04:43 25 4
gpt4 key购买 nike

我正在修改 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 游乐场( 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''')
}
}

关于powershell - JobDSL 中的多行 powershell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38847262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com