Asp.net 使用巡航控制.Net部署

Asp.net 使用巡航控制.Net部署,asp.net,msbuild,cruisecontrol.net,Asp.net,Msbuild,Cruisecontrol.net,目前我正在使用巡航控制.Net。 我想自动化这个部署过程。 现在,我正在按msbuild脚本执行以下步骤 GetSource=Get the source code from svn. Before Build=build the web project. Publish=publish the web project. zip=zip the publish folder. 在这里,一切都很好,但如何在不同的服务器上部署此zip文件夹。我想,我应该使用ftp系统。但我还没有使用它

目前我正在使用巡航控制.Net。 我想自动化这个部署过程。 现在,我正在按msbuild脚本执行以下步骤

GetSource=Get the source code from svn.  
Before Build=build the web project.  
Publish=publish the web project.  
zip=zip the publish folder.

在这里,一切都很好,但如何在不同的服务器上部署此zip文件夹。我想,我应该使用ftp系统。但我还没有使用它。如果您提供任何示例演示项目或代码将文件夹/zip上载到服务器,请建议如何继续执行此方案,CC.NET有一个名为
ftp

 <ftp>
   <serverName>ftp.isp.com</serverName>
   <userName>john</userName>
   <password>doe</password>
   <action>UploadFolder</action>
   <ftpFolderName>site/config</ftpFolderName>
   <localFolderName>d:\website\config</localFolderName>
   <recursiveCopy>true</recursiveCopy>
 </ftp>

ftp.isp.com
厕所
雌鹿
我会将逻辑(尽可能多,通常为99%)保留在“msbuild land”中

这样,如果您离开CC.NET(例如TFS),您就可以最小化需要翻译的代码

这就是任务

例如:

/// <Target Name="DeployWebsite">
/// <FtpUploadDirectoryContent
/// ServerHost="ftp.myserver.com"
/// Port="42"
/// Username="user"
/// Password="p@ssw0rd"
/// LocalDirectory="c:\build\mywebsite"
/// RemoteDirectory="root\www\mywebsite"
/// Recursive="true"
/// />
//
/// 

您需要将CC.NET视为一个“大花哨的msbuild.exe执行器”。在msbuild中编写所有逻辑。使用cc.net源代码管理任务关闭源代码管理(甚至可能是一个.msbuild文件(又称.proj文件)),然后让cc.net调用“msbuild.exe MyBuildDef.proj”。