msbuild - CruiseControl.NET 与 Web 部署项目

标签 msbuild cruisecontrol.net web-deployment-project

我们目前正在使用 Web 部署项目来编译解决方案中的项目并部署我们的网站。我们希望转而使用 CruiseControl .NET,使我们能够自动化构建、添加测试以及从网站界面启动/审查它们。目前,Web 部署项目具有对所有项目(70 多个)的项目引用,并且具有远程 DeployPath。这最终会运行 aspnet_compile 和 aspnet_merge 并将文件(程序集 + 标记)放到我们的远程服务器上。

我想用 CC 模拟这种行为,但我不知道该怎么做。我尝试过使用 wdproj 作为 msbuild 的目标(希望它能够构建并工作),但这似乎失败了。我有预感我需要 NAnt 任务或类似的任务来执行编译/合并步骤。

有人能指出我正确的方向吗?

最佳答案

据我所知,不可能使用 msbuild 构建标准 wdproj 部署项目。对于标准部署项目,我认为您需要安装 Visual Studio。

所以我看到了这些选项:

1) 构建服务器上的 Visual Studio:在构建服务器上安装 Visual Studio,然后使用 Visual Studio (devenv.exe) 执行构建。

2) WIX:如果您需要 Web 部署项目,并且不会在生成服务器上安装 Visual Studio,请尝试使用 Windows Installer XML 制作部署项目:http://wix.sourceforge.net .

3) 使用 msbuild 复制网站:跳过 Web 部署项目,并使用 msbuild 将网站内容直接输出到测试服务器上,或者放入一个临时文件夹中,然后您可以创建使用 NAnt zip 任务打包到一个包中:

<exec program="msbuild" commandline="MySolution.sln" />
<exec program="msbuild"
  commandline="MyWebsite\MyWebsite.csproj /t:ResolveReferences;_CopyWebApplication /p:WebProjectOutputDir=\\MyServer\MyWebsite;OutDir=\\MyServer\MyWebsite\" />

该示例假设您在 Visual Studio 中有一个 Web 应用程序项目。如果您在 Visual Studio 中有一个网站项目,则具体步骤会有所不同,但仍然可以遵循相同的思路。

关于msbuild - CruiseControl.NET 与 Web 部署项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3843022/

相关文章:

msbuild - 将构建标识为依赖项目引用

c++ - 有没有办法在 Visual Studio 中列出库依赖项?

.net - 数据库中的 Excel 自动化,最好的技术是什么?

svn - 托管源代码控制托管以及与 CVSDude 和 CruiseControl.net 的持续集成

c# - 如何使用 licenses.licx 文件

.net - 我如何在TFS中自动化分支机构/新团队的建立过程

tomcat中Eclipse WebContent目录部署

php - 将 PHP 项目从 Git 部署到未安装 Git 的服务器上

javascript - JQuery 不会删除我的 div 来响应 div 单击事件

continuous-integration - 主 jenkins 可以在远程 jenkins 上运行作业吗?