【发布时间】:2021-05-03 15:49:25
【问题描述】:
在下面的命令中,我想跳过 cmdParamString 参数,因为其中一个应用程序部署不需要它,而其他应用程序部署需要它,所以无法更改这个常见的部署命令,我该如何实现?
def deployCommand = "\"${msDeploy}\\MSDeploy.exe\" -verb:sync -source:package=\"${packageLocation}\" -dest:${destParamsString} ${cmdParamString}"
输出 C:\bin\jenkins\workspace\Deploy Test>"C:\Program Files\IIS\Microsoft Web Deploy V3\MSDeploy.exe" -verb:sync -source:package="C:/bin/jenkins/ArtifactorySharedDownloads/cabb6d400bb5f176700c6bb21f0a5a6580c6c97f /package.zip" -dest:ContentPath="C:\WWW\Service",ComputerName="http:local.test/MSDeployAgentService",Username="xyz",Password="abc" -setParam:"NLog 数据库连接字符串"="server=No DB setting,null;database=null;Integrated Security=SSPI" -setParam:"NLog Log Level"="null" -setParam:"ISL Database connection string"="server=No DB setting,null ;database=null;Integrated Security=SSPI"
15:46:00 错误:无法识别的参数“NLog 数据库连接字符串”。
我试过了
if(application.name == "abc") {
cmdParamString = '--%'
}
错误:无法识别的参数“--”。
【问题讨论】:
-
deplyCommand跑得怎么样了? -
@cfrick bat(deployCommand) 被调用,还使用了 deploy.proj 文件,我在其中定义了这些项目
-
所以这是一个詹金斯问题?
-
是的 groovy 文件有 deploycommand 并且 delpoy.proj 有 Target 项目及其参数
-
@cfrick 因为这些都是空的,-setParam:"NLog 数据库连接字符串"="server=No DB setting,null;database=null;Integrated Security=SSPI" -setParam:"NLog Log Level"="null" -setParam:"ISL Database connection string"="server=No DB setting,null;database=null;Integrated Security=SSPI" deploycommand 一直失败
标签: powershell jenkins msdeploy