Я создаю проект ASP.Net MVC в TeamCity.
Можно ли каким-либо образом вызвать цель публикации и получить вывод, скопированный в папку в IIS? или мне нужно написать msbuild script для этого?
Я создаю проект ASP.Net MVC в TeamCity.
Можно ли каким-либо образом вызвать цель публикации и получить вывод, скопированный в папку в IIS? или мне нужно написать msbuild script для этого?
Я написал довольно длинную запись в блоге по этой теме, которая может вас заинтересовать:
в основном
Вы пробовали Проект веб-развертывания (WDP)? У меня есть несколько проектов веб-приложений (WAP) со связанными WDP, которые отлично работают с TeamCity для сценариев развертывания.
Я использую runner sln2008 для создания моего решения (содержащего как WAP, так и WDP). Я изменил файл проекта WDP (MSBuild script), чтобы скопировать вывод в общий ресурс сети:
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Deploy' ">
<!-- copy WDP output to \\build02\wwwroot\Belden.Web.Intranet\ -->
<ItemGroup>
<MySourceFiles Include="$(OutputPath)**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(MySourceFiles)" DestinationFiles="@(MySourceFiles->'\\build02\wwwroot\Belden.Web.Intranet\$(ProjectDir)%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
Я не пробовал это с MVC/WDP, но я думаю, что он будет работать так же...
Я считаю, что вы можете: Опубликовать sln. Посмотрите на цели. Надеюсь, это приведет вас в правильном направлении.
Я также посмотрел на это некоторое время назад, но мог, но не повезло с публикацией целей, возможно, потому что мой IIS находился на другом сервере. Вот как я это сделал, надеюсь, что он помогает TeamCity удаляет файлы в сборке, посмотрите на принятый ответ.