TeamCity可以使用sln2008构建运行器发布Web项目吗?

时间:2009-07-21 23:17:06

标签: asp.net teamcity deployment publish

我正在TeamCity中构建一个ASP.Net MVC项目。

我可以以某种方式调用Publish目标并将输出复制到IIS下的文件夹中吗?或者我是否需要为此编写msbuild脚本?

4 个答案:

答案 0 :(得分:12)

我写了一篇关于这个主题的博文很长,可能会让你感兴趣:

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

基本上是:

  • 安装Web部署项目
  • 将Web部署项目添加到您的解决方案
  • 将解决方案配置管理器设置为具有“部署”构建配置
  • 让团队城市在运行构建时使用此构建开关
  • 喝一杯啤酒,并在你的自动化中获得惊喜

答案 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查看已接受的答案。