CruiseControl.NET与Web部署项目

3
我们目前使用Web Deployment项目来编译我们解决方案中的项目并部署我们的网站。我们想要转而使用CruiseControl .NET自动化构建、添加测试,并从网站界面启动/审查它们。目前,Web Deployment项目具有对所有项目(70+)的项目引用,然后具有远程DeployPath。这最终会运行aspnet_compile和aspnet_merge并在我们的远程服务器上放置文件(程序集+标记)。
我想使用CC模拟此行为,但是我无法弄清楚如何做到这一点。 我尝试使用wdproj作为msbuild的目标(希望它只是构建并运行),但似乎失败了。 我有一个预感我将需要一个NAnt任务或类似的东西来执行编译/合并步骤。
有人能指点我正确的方向吗?

你能澄清一下今天在Visual Studio中你要执行的操作以便部署吗? - Sayed Ibrahim Hashimi
2个回答

1
据我所知,使用msbuild无法构建标准的wdproj部署项目。对于标准的部署项目,您需要安装Visual Studio。
因此,我看到以下选项:
1)在构建服务器上安装Visual Studio:在构建服务器上安装Visual Studio,然后使用Visual Studio(devenv.exe)执行构建。
2)WIX:如果您需要Web部署项目,并且不会在构建服务器上安装Visual Studio,请尝试使用Windows Installer XML创建部署项目:http://wix.sourceforge.net
3)使用msbuild复制网站:跳过Web部署项目,使用msbuild直接将网站内容输出到测试服务器上,或者将其放入临时文件夹中,然后使用NAnt zip任务将其打包。
<exec program="msbuild" commandline="MySolution.sln" />
<exec program="msbuild"
  commandline="MyWebsite\MyWebsite.csproj /t:ResolveReferences;_CopyWebApplication /p:WebProjectOutputDir=\\MyServer\MyWebsite;OutDir=\\MyServer\MyWebsite\" />

这个例子假设您在Visual Studio中有一个Web应用程序项目。如果您在Visual Studio中有一个网站项目,则确切的步骤将不同,但仍然可以沿着相同的方向进行。


我相信你是正确的,安装项目在msbuild中不受支持。 - Pedro
1
你错了,Web部署项目是MSBuild文件。你可能在想“安装和部署项目”(.vdproj)。 - Sayed Ibrahim Hashimi

0

最终我使用了msbuild来运行AspNetCompile和AspNetMerge。只需指向正确的Web文件夹,它就能找到相应的依赖项。谢谢大家的帮助!


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