我一直在努力自动化部署我的asp.net mvc应用程序。我在SO上发现了一些问题,但没有一个答案真正帮助我。
我的要求如下:
- 不使用NAnt.
- 不编辑。sln文件我也想在我的开发盒中使用相同的文件。
- 部署到文件共享
- 应该应用web。配置转换
我发现了这么多不同的部署技术,我的头都晕了。我还是不知道现在该怎么办。请帮助。
——编辑——
也许我应该重新表述一下;在用MSBuild构建网站项目之后。我应该复制什么到文件共享来"部署"我的web应用程序?
——2日编辑
我将此与自动化构建和部署桌面应用程序进行比较:使用桌面应用程序;您只需使用.sln文件构建它。然后将bin/(debug|release)文件夹中的所有内容复制到您喜欢的目的地。我的问题是。在web应用程序中,什么是等价的?
——还有一个——
我已经研究了一段时间了。一些事情开始变得顺理成章。我现在使用以下命令:
msbuild "siteprojectfile.csproj" /T:Package
这样我得到一个zip文件,我可以使用msdeploy。但我似乎无法使用该文件将其部署到文件共享中。欢迎提出建议!
我现在使用两步:
1MSBuild.exe SiteSite.csproj /p:Configuration=Test /T:Package
2 aspnet_compiler -nologo -v / -p "SiteobjTestPackagePackageTmp" -f "\serverwebsite"
我可以做一个简单的复制步骤,而不是使用aspnet_compiler,但这也会为我检查视图,如果有问题,构建失败。
到目前为止,这工作得很好,但我有一种感觉("PackageTMP"…)这并不是真正的最佳选择。
想知道这是否会比上面的两个命令更好?(引自本文)
msbuild C:ContosoUniversityContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Test
注意到OP正在请求文件共享,PublishProfile可以设置为"到磁盘"类型的发布,但也允许OP通过配置更改将其更改为到web, ftp等。我想。
然后,其中一些可能只在VS2012中曝光,因为VS2010不像2012那样能够对发布文件进行源代码控制。