2013-10-07 6 views
0

В настоящее время я использую круиз-контроль .Net. Я хочу автоматизировать этот процесс развертывания. Теперь я выполняю следующий шаг по сценарию msbuild.Развертывание с использованием круиз-контроля .Net

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 я не работать на it.please предложить, как идти вперед с этим сценарий будет хорошо, если вы предоставляете какой-либо образец демонстрационный проект или код

+0

Вы должны думать о CC.Net как "большой фантазии MSBuild.exe" Исполнителем. Напишите всю свою логику в msbuild. Используйте задачу управления источником cc.net, чтобы сбить исходный элемент управления (возможно, даже один файл .msbuild (aka, .proj file) ............, а затем вызвать cc.net «msbuild .exe MyBuildDef.proj ". – granadaCoder

ответ

0

Чтобы загрузить папку/почтовый индекс к серверу, CC.NET иметь задачу Buildin имени 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

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="[email protected]" 
/// LocalDirectory="c:\build\mywebsite" 
/// RemoteDirectory="root\www\mywebsite" 
/// Recursive="true" 
/// />