17

I'm building an ASP.Net MVC project in TeamCity.

Can I somehow call the Publish target and get the output copied to a folder under IIS? or do I need to write an msbuild script for this?

4

4 回答 4

12

我写了一篇很长的博客文章,讨论这个话题,你可能会感兴趣:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

基本上:

  • 安装 Web 部署项目
  • 将 Web 部署项目添加到您的解决方案
  • 将解决方案配置管理器设置为具有“部署”构建配置
  • 让团队城市在运行构建时使用此构建开关
  • 喝杯啤酒,惊叹于你的自动魔法
于 2010-06-16T07:31:03.350 回答
5

您是否尝试过Web 部署项目(WDP)?我有多个带有关联 WDP 的 Web 应用程序项目 (WAP),这些 WDP 与 TeamCity 非常适合用于部署方案。

我使用 sln2008 运行器来构建我的解决方案(包含 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 尝试过这个,但我想它会一样工作......

于 2009-08-12T15:50:07.607 回答
1

我相信你可以:发布 sln。看看目标。希望它将引导您朝着正确的方向前进。

于 2009-07-24T11:49:49.463 回答
0

不久前我也看过这个,但可以但没有发布目标的运气,可能是因为我的 IIS 驻留在不同的服务器上。无论如何,这就是我的做法,希望它有助于TeamCity 在构建时删除文件看看接受的答案。

于 2009-07-29T09:33:22.707 回答