我正在尝试使用Teamcity构建,打包和部署Web应用程序,但由于某种原因,Teamcity忽略了我传递给MsBuild.exe的属性。
我在构建配置中创建了一个步骤,用于构建,打包和部署应用程序到本地服务器。以下是属性:
/P:Configuration=Release
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:DeployIISAppPath=MyDeployedWebsitePath
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMSvc
/P:CreatePackageOnPublish=True
/P:UserName=Administrator
/P:Password=******
/P:MsDeployServiceUrl=MyServerName
将它们作为命令行参数传递给MSBuild步骤或将它们声明为“参数”选项卡中的“系统属性”似乎不起作用。 Teamcity构建应用程序但忽略了包和部署步骤!
如果我在同一台服务器上使用命令行执行MSBuild(使用相同的参数),则包和部署可以正常工作。
我正在遵循Troy Hunt系列中提到的步骤:https://www.troyhunt.com/you-deploying-it-wrong-teamcity_26/
我已经阅读了很多堆栈溢出问题,它似乎可以无缝地为其他人工作。我不确定出了什么问题。
我真的很感激任何帮助。
更新 - 构建日志
> Step 2/2: Build (MSBuild) (51s)
[18:32:48][Step 2/2] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_18' value='0.0']
[18:32:48][Step 2/2] Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.MsBuildBootstrap.exe /workdir:C:\TeamCity\buildAgent\work\b12fe165603f4f19 /msbuildPath:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
[18:32:48][Step 2/2] in directory: C:\TeamCity\buildAgent\work\b12fe165603f4f19
[18:32:56][Step 2/2] Targets were not defined in the build configuration.
[18:32:56][Step 2/2] MSBuild command line parameters contain "/property:" or "/p:". It is recommended to define System Property on Build Parameters instead.
[18:33:02][Step 2/2] EnsembleID.Web\EnsembleID.Web.csproj.teamcity: Build target: Build (37s)
[18:33:40][Step 2/2] Process exited with code 0
答案 0 :(得分:0)
原来是版本问题:/
我为MSBuild版本尝试了不同的选项 - Microsoft .Net Framework 4.5,4.0等。
最后, Microsoft Build Tools 2015 选项有效。
在过去的一周里,我一直在喋喋不休地谈论这个问题,而且我忘记了我尝试过的所有不同的排列。我已经安装了所有不同版本的框架工具和Web部署工具,我不确定为什么其他选项对我不起作用。因此,如果有人遇到类似的问题,请务必尝试不同的MSBuild版本。