我们目前通过创建数据库并通过查询分析器运行sql脚本来部署Web应用程序.然后我们复制“发布网站”的输出并在IIS中设置该网站.
我们已经在visual studio中看到了websetup,但这部分似乎很少有文档记录.例如,我们不清楚如何向用户询问sql服务器的IP和密码.我们也倾向于以这种方式部署网站,如http://example.com/project这样的文件夹,而不仅仅是http://example.com.
然后存在AJAX.Net未安装或某些或其他补丁未应用的问题.
到目前为止,我们可以物理访问服务器.很快我们将要发行CDROM.手动干预和自动化之间的实际权衡是什么?
解决方法
避免Visual Studio部署,并尽可能自动化. Web部署项目和NAnt可以成为您的朋友!
简而言之,我们的部署设置:
>我们使用RedGate sql编写dev和live数据库之间的差异.
>一个NAnt构建文件,它调用MSBUILD来构建Web部署项目(.wdproj),将生成的编译Web应用程序(以及sql更改脚本)拉上来,然后将zip文件上载到服务器.
>在服务器端,还有另一个NAnt构建文件,它使应用程序脱机,备份数据库,备份网站.运行sql更改脚本,解压缩新版本并将应用程序联机.
第3步通常是“手动”(一次双击),但有时会安排在深夜.您可以从CDROM完全相同,甚至可以编写一个非常小的Windows Forms应用程序作为包装器.
如果您有兴趣,非常乐意提供NAnt脚本的详细信息.