[英]Jenkins Powershell passing script from variable
我有一个詹金斯步骤定义如下:
script {
def cmd = ' & "' + env.WORKSPACE + '\\SpearsLoad\\Scripts\\DeploySSISPackage.Ps1 -server ' + dbServer + ' -ProjectFilePath ' + env.WORKSPACE + '\\SpearsLoad\\bin\\' + buildConfig + '\\SpearsLoad.ispac"'
println cmd
def msg = powershell(returnStdout: true, script: ' & "' + env.WORKSPACE + '\\SpearsLoad\\Scripts\\DeploySSISPackage.Ps1 -server ' + dbServer + ' -ProjectFilePath ' + env.WORKSPACE + '\\SpearsLoad\\bin\\' + buildConfig + '\\SpearsLoad.ispac"')
println msg
}
在println cmd上,我得到的正是我想要的Powershell:
c:\workspace\Spears_master\SpearsLoad\Scripts\DeploySSISPackage.Ps1 -server LONSQLLD01\L14D1 -ProjectFilePath c:\workspace\Spears_master\SpearsLoad\bin\development\SpearsLoad.ispac
我尝试在powershell命令中插入表达式:
powershell(returnStdout: true, script: ' & "' + env.WORKSPACE + '\\SpearsLoad\\Scripts\\DeploySSISPackage.Ps1 -server ' + dbServer + ' -ProjectFilePath ' + env.WORKSPACE + '\\SpearsLoad\\bin\\' + buildConfig + '\\SpearsLoad.ispac"')
使用变量失败
powershell(returnStdout: true, script: cmd)
在两种情况下,我都得到: 不被识别为cmdlet,函数,脚本文件或可操作程序的名称。
感觉就像是一个逃避的问题,但我迷路了-谁能指出我正确的方向
当somecommand
包含空格时,&符& "somecommand" <arguments>
模式通常在somecommand
中使用。
请注意,像您的示例一样,参数不应该放在双引号内。 通过将参数放在引号中,您将迫使powershell将参数解释为命令名称的一部分,这将不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.