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

Posted

技术标签:

【中文标题】TeamCity 可以使用 sln2008 构建运行程序发布 Web 项目吗?【英文标题】:Can TeamCity publish a Web project using the sln2008 build runner? 【发布时间】:2009-07-21 23:17:06 【问题描述】:

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

我能否以某种方式调用发布目标并将输出复制到 IIS 下的文件夹中?还是我需要为此编写一个 msbuild 脚本?

【问题讨论】:

也许这篇文章会对你有所帮助:***.com/questions/442374/… 那篇文章与 TeamCity 无关。我知道如何发布,也知道如何使用 msbuild 来完成,但我希望有某种方法可以配置 TeamCity 来完成,而无需为每个解决方案编写 msbuild 脚本。 【参考方案1】:

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

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

基本上:

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

【讨论】:

为有用的文章+1;我目前正在喝一杯水,并为我的自动魔法而感到自豪:D【参考方案2】:

您是否尝试过Web Deployment Project (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 尝试过这个,但我想它会一样工作......

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

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

【讨论】:

以上是关于TeamCity 可以使用 sln2008 构建运行程序发布 Web 项目吗?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2012 解决方案 TeamCity 中的 MSBuild

如何从 TeamCity 构建配置中设置 PowerShell 开关参数

将 Visual Studio 2005 sln 迁移到 2008,在 LIB 环境变量中使用 vc98 路径发出警告,如何解决?

TeamCity 控制台代理

TeamCity FxCop 运行器:指定程序集

如何在 TeamCity 中构建 git 标签?