2013-05-17 4 views
2

Я имею MSBuild команду опубликовать свой проект (WCF Service Application), которая выглядит следующим образом:TeamCity не будет публиковать проект с использованием MSDeploy

msbuild FooBar.Service.csproj /p:DeployOnBuild=true; 
DeployTarget=MsDeployPublish; 
MSDeployServiceUrl=http://server.pl/MSDeployAgentService; 
DeployIisAppPath="Foobar"; 
MSDeployPublishMethod=RemoteAgent; 
UserName=Joe; 
password=secret; 

и это работает из командной строки VS, все публикуется без каких-либо ошибок , Пожалуйста, обратите внимание, что я не нахожу какой-либо цели.

Но я хочу создать свой проект развертывания с помощью TeamCity (7.1.5). Я сделал простой проект, и конфигурации с одной сборки Шаг:

enter image description here

Проблема заключается в том, что, когда я бегу эту задачу, MSBuild компилирует мой сайт, но без публикации его на удаленный сервер. Ниже журнал сборки:

[16:13:16]Checking for changes 
[16:13:18]Publishing internal artifacts 
[16:13:18][Publishing internal artifacts] Sending build.start.properties.gz file 
[16:13:18]Clearing temporary directory: C:\TeamCity\buildAgent\temp\buildTmp 
[16:13:18]Checkout directory: C:\TeamCity\buildAgent\work\2eecf7b45f277a61 
[16:13:18]Repository sources transferred 
[16:13:18]Updating sources: server side checkout 
[16:13:18]Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.MsBuildBootstrap.exe /workdir:C:\TeamCity\buildAgent\work\2eecf7b45f277a61 /msbuildPath:C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 
[16:13:18]in directory: C:\TeamCity\buildAgent\work\2eecf7b45f277a61 
[16:13:20]Foobar.csproj.teamcity: Build target: Build 
[16:13:20][Foobar.csproj.teamcity] CoreCompile 
[16:13:20][CoreCompile] Csc 
[16:13:20][Csc] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /highentropyva+ /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Microsoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Configuration.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Drawing.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.EnterpriseServices.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Serialization.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ServiceModel.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ServiceModel.Web.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.ApplicationServices.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.DynamicData.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.Entity.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.Extensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.Services.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Xml.Linq.dll" /debug+ /debug:full /optimize- /out:obj\Debug\Foobar.dll /subsystemversion:6.00 /target:library /utf8output Service1.svc.cs IService1.cs Properties\AssemblyInfo.cs "C:\TeamCity\buildAgent\temp\buildTmp\.NETFramework,Version=v4.5.AssemblyAttributes.cs" 
[16:13:20][Foobar.csproj.teamcity] CopyFilesToOutputDirectory 
[16:13:20][CopyFilesToOutputDirectory] Copy 
[16:13:20][Copy] Copying file from "obj\Debug\Foobar.dll" to "bin\Foobar.dll". 
[16:13:20][CopyFilesToOutputDirectory] Foobar.csproj -> C:\TeamCity\buildAgent\work\2eecf7b45f277a61\bin\Foobar.dll 
[16:13:20][CopyFilesToOutputDirectory] Copy 
[16:13:20][Copy] Copying file from "obj\Debug\Foobar.pdb" to "bin\Foobar.pdb". 
[16:13:19]Targets was not defined in the build configuration. 
[16:13:19]MSBuild command line parameters contain "/property:" or "/p:". It is recommended to define System Property on Build Parameters instead. 
[16:13:21]Process exited with code 0 
[16:13:21]Publishing internal artifacts 
[16:13:21][Publishing internal artifacts] Sending build.finish.properties.gz file 
[16:13:21]Publishing artifacts 
[16:13:21][Publishing artifacts] Collecting files to publish: [C:\TeamCity\buildAgent\work\2eecf7b45f277a61] 
[16:13:21][Publishing artifacts] Sending 
[16:13:21]Build finished 
+0

Вы когда-нибудь узнавали, в чем проблема? У меня такие же трудности. –

+0

Извините @JeremyHolovacs, пока не помню, это слишком старо. – Dariusz

ответ

0

Я не смотрел через это в глубине, но заметил, что в вашем примере командной строки вы указываете DeployIisAppPath, но выглядит, как вы используете DeployAppPath в сценарии TeamCity, который, как мне кажется, будет проигнорирован MSBuild.

0

Имея ту же проблему для проектов визуальной студии 2013 года. другая конфигурация только строительство и развертывание тонкой

0

Стоит заметить, что вы получаете следующее предупреждение:

MSBuild command line parameters contain "/property:" or "/p:". 
It is recommended to define System Property on Build Parameters instead. 

Что это говорит, что лучшая практика для прохождения многочисленных параметров командной строки расстрелов основы является определить параметры как свойства системы, а не явно конкатенировать их в одной длинной строке.

В качестве предложения по рефакторингу я бы рекомендовал вам определить параметры, которые вы передаете через префикс/p: prefix, как системные свойства (это можно сделать в разделе «Параметры сборки» вашей конфигурации сборки). В этом случае они будут переданы в исполнение за кулисами и помогут вам избежать дублирования, легко ремонтироваться и так далее. Он также сделает список параметров более понятным и поможет вам узнать, есть ли что-то неправильное с параметрами, которые вы передаете в MSBuild, что может вызвать проблему.