如何使用CruiseControl.NET和MSBuild部署/发布Web应用程序?

6
我该如何使用CruiseControl.NET和MSBuild部署/发布Web应用程序?我对CCNET还不熟悉,但我已经可以从SVN获取最新源代码并使用MSBuild 3.5进行构建。我该如何将网站发布到另一个(DEVELOPMENT)服务器? 感谢任何提示/示例。
祝好, ~ck
5个回答

2

对于在我的 CruiseControl.NET CI 服务器上构建完成后发布网站到开发服务器,我使用 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,您可以轻松完成网站内容的完全同步,删除不应存在的内容。它还具有其他选项,例如忽略某些目录和发出重新启动应用程序池等命令。


2

我针对使用Web.config转换CCNET提供了解决方案:

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

0

我发现这篇博客非常有用。基本上,你需要将ccnet.config文件指向你在项目目录中创建的MSBuild.xml文件。在MSBuild.xml文件中,你需要创建一个目标,使用_CopyWebApplication选项来构建和发布Web应用程序。


0

我通常使用Build Publisher任务将文件部署到远程服务器上。你也可以编写一个带有xcopy命令的脚本来进行部署。


0

您也可以使用 Web Deployment Projects 来帮助处理这个问题。在 WDP 中,您可以使用 ExcludeFromBuild 项来排除那些文件。更多信息请参见 http://msdn.microsoft.com/en-us/library/aa479568.aspx

这将处理网站的预编译,以便您可以将其发布到另一个开发服务器上,这取决于您现在如何部署。如果您将其复制到网络共享或 FTP,则也可以使用 MSBuild 进行操作。我不熟悉前面答案中提到的 Build Publisher。


如果您想发布您的 Web 应用程序(MVC),而服务器上没有安装 Visual Studio,您该如何构建和发布呢? - Haroon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接