我正在TeamCity中构建一个ASP.Net MVC项目。
我可以以某种方式调用Publish目标并将输出复制到IIS下的文件夹中吗?或者我是否需要为此编写msbuild脚本?
答案 0 :(得分:12)
我写了一篇关于这个主题的博文很长,可能会让你感兴趣:
基本上是:
答案 1 :(得分:5)
你试过Web Deployment Project(WDP)吗?我有多个Web应用程序项目(WAP),其中包含与TeamCity一起用于部署方案的关联WDP。
我使用sln2008 runner来构建我的解决方案(包含WAP和WDP)。我修改了WDP项目文件(MSBuild脚本)以将输出复制到网络共享:
<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,但我想它会有相同的效果......
答案 2 :(得分:1)
我相信你可以:Publish sln。看看目标。希望它会引导你朝着正确的方向前进。
答案 3 :(得分:0)
我刚才也看过这个,但可能会因发布目标而没有运气,可能是因为我的IIS驻留在不同的服务器上。 无论如何,我都是这样做的,希望有助于TeamCity deletes files on build查看已接受的答案。