【问题标题】:Deployement using Cruise Control .Net使用 Cruise Control .Net 进行部署
【发布时间】:2013-10-07 11:44:50
【问题描述】:

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

这里一切都很好,但是如何在不同的服务器上部署这个 zip 文件夹。我想,我应该使用 ftp 系统。但我还没有处理它。请建议如何继续这个场景会很好如果您提供任何示例演示项目或代码

【问题讨论】:

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

标签: asp.net msbuild cruisecontrol.net


【解决方案1】:

要将文件夹/压缩包上传到服务器,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

【讨论】:

    【解决方案2】:

    我会保留逻辑(尽可能多,通常是 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"
    /// />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2013-03-09
      • 1970-01-01
      相关资源
      最近更新 更多