Как развернуть / опубликовать веб-приложение с помощью CruiseControl.NET & MSBuild?

Как развернуть / опубликовать веб-приложение с помощью CruiseControl.NET & MSBuild? Я новичок в CCNET, и я смог получить последний источник из SVN и Build с MSBuild 3.5. Как получить сайт для публикации на другом сервере (РАЗРАБОТКА)? Спасибо за любые указатели / примеры.

Ура, ~ ск

Ответы на вопрос(5)

этот блог очень полезно. По сути, вы указываете файл ccnet.config на файл MSBuild.xml, который вы создаете в каталоге вашего проекта. В файле MSBuild.xml вы создаете цель, которая будет создавать и публиковать веб-приложение с помощью параметра _CopyWebApplication.

Проекты веб-развертывания чтобы помочь с этим также. В WDP вы можете использовать элемент ExcludeFromBuild, чтобы исключить эти файлы. Для получения дополнительной информации см.http://msdn.microsoft.com/en-us/library/aa479568.aspx.

Это будет обрабатывать сайт для предварительной компиляции, а затем публиковать его на другом сервере разработки, это зависит от того, как вы сейчас развернетесь. Если вы копируете в общий сетевой ресурс или по ftp, то вы можете делать это и с MSBuild. Я не знаком с Build Publisher, о котором упоминается в предыдущем ответе.

 Haroon19 июл. 2011 г., 20:40
Что, если вы хотите опубликовать свое веб-приложение (mvc), и у вас не установлена Visual Studio на сервере, как бы вы пошли на сборку и публикацию?

Мое решение дляCCNET сПреобразование Web.config:

<tasks>
    <msbuild>
        <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
        <workingDirectory>E:\VersionesCC\Trunk_4\SBatz\Gertakariak_Orokorrak\GertakariakMS\Web</workingDirectory>
        <projectFile>GertakariakMSWeb2.vbproj</projectFile>
        <targets>Build</targets>
        <timeout>600</timeout>
        <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
        <buildArgs>
            /noconsolelogger /p:Configuration=Release /v:diag
            /p:DeployOnBuild=true
            /p:AutoParameterizationWebConfigConnectionStrings=false
            /p:DeployTarget=Package
            /p:_PackageTempDir=E:\Aplicaciones\GertakariakMS2\Web
        </buildArgs>
        </msbuild>
</tasks>

Build Publisher Задача для развертывания файлов на удаленных серверах. Вы также можете написать сценарий с командой xcopy для развертывания.

ем CI-сервере в CruiseControl.NET я используюMicrosoft Web Deploy, Требуется установить службу развертывания на любых серверах, которые будут объектами развертывания. Затем вы можете просто добавить шаг выполнения в процесс сборки, который запускает msdeploy.exe. Вот пример, который я использую в NAnt:

        <exec program="C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy.exe">
        <arg value="-verb:sync"/>
        <arg value="-source:dirPath=&quot;${tmpdir}&quot;"/>
        <arg value="-dest:dirPath=&quot;${deploy.dir}&quot;,computerName=http://${servername}/msdeploymentservice/"/>
    </exec>

Используя Web Deploy, вы можете легко выполнить полную синхронизацию содержимого веб-сайта, удаляя вещи, которых также не должно быть. У него также есть другие опции, такие как игнорирование определенных каталогов и выдача команд для перезапуска пулов приложений и т. Д.

Ваш ответ на вопрос