【发布时间】:2010-10-22 22:41:29
【问题描述】:
我对持续集成非常陌生。谁能告诉我我们是否可以使用 MSbuild 建立一个网站?
【问题讨论】:
标签: asp.net msbuild continuous-integration cruisecontrol.net
我对持续集成非常陌生。谁能告诉我我们是否可以使用 MSbuild 建立一个网站?
【问题讨论】:
标签: asp.net msbuild continuous-integration cruisecontrol.net
您可以使用 AspNetCompiler MSBuild 任务构建网站项目。
http://msdn.microsoft.com/en-us/library/ms164291.aspx
您的 MSBuild 文件可能如下所示:
<Project
xmlns = "http://schemas.microsoft.com/developer/msbuild/2003"
DefaultTargets = "PrecompileWeb">
<Target Name = "PrecompileWeb">
<AspNetCompiler
VirtualPath = "DeployTemp"
PhysicalPath = "C:\ccnet\myProject\WebSite"
TargetPath = "C:\ccnet\myProject\PreCompiled"
Force = "true"
Debug = "true"
Updateable = "true"/>
</Target>
</Project>
然后在您的 ccnet.config 中,您将在项目的任务块中添加类似以下内容:
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>C:\ccnet\myProject\</workingDirectory>
<projectFile>C:\ccnet\myProject\myproject.msbuild</projectFile>
<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
【讨论】:
如果您有网站的 SLN 文件,则可以使用以下命令:
msbuild YourSolutionFile.sln
【讨论】:
是的,你可以——即使是“网站”。
您需要做的是添加“Web 部署项目”并对其进行设置,以便它从网站上抓取所有文件,编译它们,然后使用 WiX 之类的工具,您可以为文件创建安装程序能够轻松地将您的网站及其所需的所有文件部署到客户的计算机上。
马克
【讨论】:
很遗憾,如果您选择了“网站”作为项目类型,您就不能这样做。但是,如果您选择“Web 应用程序”项目类型,您可以使用 MSBUILD 来构建它。创建“Web 应用程序”项目后,您可以右键单击它并选择“添加 Web 部署项目”,这会将 wdproj 文件添加到您的解决方案中,您可以在其中自定义设置。
您可以将此 wdproj 文件提供给项目的 ccnet 配置文件,该项目可以按照配置的时间表运行此文件。一旦我在办公室,我可能会在明天之前为您提供在 cc.net 配置文件中配置所需的适当节点
【讨论】: