2013-06-13 5 views
0

Я пытаюсь запустить развертывание после завершения сборки TFS. Я поставляет следующие параметры для MSBuild заданы параметрыMSDeploy после TFS Build not firing

/П: AllowUntrustedCertificate = True
/р: DeployOnBuild = True
/р: DeployTarget = MsDeployPublish
/р: CreatePackageOnPublish = True
/р: MSDeployPublishMethod = WMSVC
/р: MSDeployServiceUrl = https://server.test.com
/р: DeployIisAppPath = "сайт"
/р: UserName = имя пользователя/р: Пароль = пароль

Строка работает плавно, однако развертывание никогда не происходит. В папке «Папка» добавлена ​​временная папка с именем _PublishedWebsites, но содержимое этой папки не будет перенесено на веб-сервер.

У меня установлен WebDeploy 3.0 на моем сервере сборки, а также на VS 2012 и TFS 2012. Я могу отправить развертывание через VS 2012 на мой локальный экземпляр без проблем, используя WebDeploy. Я не уверен, что мне не хватает, но это должно быть что-то маленькое, чтобы вызвать Deploy.

+0

Вы запустили сборку с регистрацией до 11 (Verbosity Diag), которая должна рассказать вам, что происходит :) – DaveShaw

+0

@DaveShaw, как вы это делаете? –

+0

Когда вы «Очередь новой сборки», перейдите на вкладку «Параметры» и установите для параметра «Logging Verbosity» значение «Diagnostic». – DaveShaw

ответ

1

У меня была эта проблема, когда мой Бин построил бы &, развернуто отлично, но ни один веб-сайт не будет создан в дереве Drop. Пробовал много вещей в течение нескольких дней и, наконец, пришел к изменению файла проекта в качестве решения.

Мои веб-сайты, которые будут развернуты, первоначально были проектами WebSite в VS2008 и впоследствии были преобразованы в проекты WebApplication в VS2012. В файле csproj (и/или файл vbproj) Я нашел следующий раздел:

<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" /> 
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> 

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

<PropertyGroup> 
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion> 
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> 
    </PropertyGroup> 
    <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" /> 
    <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> 
    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> 
    <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> 
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> 
    </Target> 

Этих определяет переменные и задает цели сборки, поэтому автоматическая сборка подбирает их. Не знаю, почему процесс преобразования WebApplication пропустил их. Убедитесь, что вы заменили «VisualBasic» на «CSharp», если ваш проект не является VB. Кроме того, вам может потребоваться использовать v10.0 вместо v11.0 в зависимости от конфигурации вашего сервера сборки.