使用Cruise Control .Net进行部署

时间:2013-10-07 11:44:51

标签: asp.net msbuild cruisecontrol.net

目前我正在使用Cruise Control .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.

这里一切都很好,但如何在不同的server.i猜测,我应该使用ftp system.but我没有在它工作。请建议如何继续这个场景将是好的如果您提供任何示例演示项目或代码

2 个答案:

答案 0 :(得分:0)

要将文件夹/ 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>

参考: http://www.cruisecontrolnet.org/projects/ccnet/wiki/Ftp_task_-_Publisher

答案 1 :(得分:0)

我会保持逻辑(尽可能多,通常是99%).......在“msbuild land”里面。

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

这是任务。

https://github.com/loresoft/msbuildtasks/blob/master/Source/MSBuild.Community.Tasks/Ftp/FtpUploadDirectoryContent.cs

示例:

/// <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"
/// />