2013-07-18 4 views
2

То, что я считал простым, не является. Все, что я пытаюсь сделать, это заставить MSBuild скопировать файлы сайта на другой сервер после моей сборки.Публикация не работает из определения сборки VS2012

В моем определении сборки под Процесс ->Advance ->MSBuild Аргументы Я положил

/р: DeployOnBuild = истина/р: PublishProfile = WebsiteProfile

Он строит отлично но он никогда не копирует файлы в пункт назначения

НО, когда я запускаю эту команду локально, ЭТО РАБОТАЕТ !!!!!

MSBuild/р: DeployOnBuild = истина/р: PublishProfile = WebsiteProfile

У меня есть VS 2012 установлена ​​в сервере сборки, так что я думаю, что все необходимые файлы есть.

В чем проблема?

UPDATE 1

Вывод в лог-файл сборки

Run MSBuild для проекта

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe /nologo /noconsolelogger "C:\Builds\1\MyProject\MyProject\src\MyProject.sln" /nr:False /fl /flp:"logfile=C:\Builds\1\MyProject\MyProject\src\MyProject.log;encoding=Unicode;verbosity=detailed" /p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:PublishProfile=WebsiteProfile /p:VisualStudioVersion=11.0 /m /p:OutDir="C:\Builds\1\MyProject\MyProject\bin\\" /p:RunCodeAnalysis="False" /p:VCBuildOverride="C:\Builds\1\MyProject\MyProject\src\MyProject.sln.vsprops" /dl:WorkflowCentralLogger,"E:\Microsoft Team Foundation Server 11.0\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Detailed;BuildUri=vstfs:///Build/Build/64;InformationNodeId=20178;TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://abc-tfs-p:8080/tfs/defaultcollection;"*WorkflowForwardingLogger,"E:\Microsoft Team Foundation Server 11.0\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Detailed;" 

ВОСПРОИЗВЕДЕНИЕ ШАГИ

  1. Создан новый сайт проект
  2. Убедился он работал на локальной машине с использованием сервера разработки
  3. Проверив код в TFS
  4. Создано определение сборки, используя все настройки по умолчанию в рамках процесса -> Advance -> MSBuild Аргументы Я положил

/р: DeployOnBuild = истина/р: PublishProfile = WebsiteProfile

Публикация профиля копии изменений для удаленного сервера.

+0

Звучит как разрешение вещь. Имеет ли агент сборки соответствующие perms на целевом сервере? –

+0

Как я могу это проверить? –

ответ

2

Установка обновления веб-инструментов 2012.2 на сервере сборки исправила эту проблему для меня после того, как я прочитал это post и Scott Gu's Blog. У меня нет Visual Studio, установленной на сервере, но установка обновления получила мою работу DeployOnBuild. Надеюсь, это поможет.

Смежные вопросы