关于sql server:有什么可能是部署ASP.Net Web应用程序的好方法?

关于sql server:有什么可能是部署ASP.Net Web应用程序的好方法?

What could be good ways to deploy ASP.Net Web Applications?

我们目前通过创建数据库和通过查询分析器运行SQL脚本来部署Web应用程序。然后我们从"发布网站"复制输出,并在IIS中设置该网站。

我们已经在Visual Studio中看到了websetup,但该部分的文档似乎很少。例如,我们不清楚如何向用户询问SQL Server的IP和密码。我们还倾向于将网站部署到http://example.com/project这样的文件夹中,而不仅仅是http://example.com。

然后,Ajax.net没有安装,或者某些补丁或其他补丁没有应用。

到目前为止,我们可以物理访问服务器。虽然我们很快就要装运光盘了。人工干预和自动化之间的实际权衡是什么?


避免Visual Studio部署,并尽可能实现自动化。网络部署项目和南特可以成为您的朋友!

简言之,我们的部署设置:

  • 我们使用RedgateSQL编写开发人员和实时数据库之间的差异脚本。

  • 一个nant构建文件,它调用msbuild来构建Web部署项目(.wdproj),压缩生成的编译Web应用程序(连同SQL更改脚本),然后将zip文件上载到服务器。

  • 在服务器端,还有另一个nant构建文件,它使应用程序离线,备份数据库,备份网站。运行SQL更改脚本,解压缩新版本并使应用程序联机。

  • 步骤3通常是"手动"运行(双击一次),但有时计划在深夜运行。你可以从光盘上做同样的事情,甚至写一个小的Windows窗体应用作为包装。

    如果你感兴趣的话,很乐意提供南特剧本的细节。


    您尝试过使用Web部署项目吗?现在也支持vs 2008。


    我主要将ASP.NET应用程序部署到Linux服务器上。这是我的标准工作流程:

    • 我使用源代码存储库(如Subversion)
    • 在服务器上,我有一个bash脚本,它执行以下操作:
      • 查看最新代码
      • 执行生成(创建DLL)
      • 将文件过滤到基本内容(例如删除代码文件)
      • 备份数据库
      • 将文件部署到名为当前日期的目录中的Web服务器
      • 如果部署中包含新架构,则更新数据库
      • 使新安装成为默认安装,以便下次点击时使用

    签出是通过命令行版本的Subversion完成的,而构建是通过Xbuild完成的(msbuild的工作类似于mono项目)。大部分魔法都是在释放中完成的。

    在我的dev服务器上,我基本上具有持续集成,但在生产方面,我实际上是通过ssh进入服务器,并通过运行脚本手动启动部署。我的脚本被巧妙地称为"deploy",所以这就是我在bash提示下键入的内容。我很有创造力。不是。

    在生产环境中,我必须键入"deploy"两次:一次是签出、生成并部署到一个日期为的目录,另一次是将该目录设置为默认实例。由于目录是有日期的,所以只需在相关目录中键入'deploy',就可以恢复到以前的任何部署。

    初始部署需要几分钟时间,恢复到以前的版本需要几秒钟时间。

    对于我来说,这是一个很好的解决方案,它只依赖于三个命令行实用程序(SVN、Xbuild和Releaseit)、DB客户机、SSH和bash。

    我真的需要在codeplex上更新releaseit的副本:

    网址:http://releaseit.codeplex.com/


    推荐阅读

      linux下并行运行命令?

      linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,l

      linux脚本多个命令?

      linux脚本多个命令?,系统,工作,标准,服务,命令,软件,管理,连续,电脑,设备,lin

      linux脚本注释命令?

      linux脚本注释命令?,代码,系统,工作,名称,地方,脚本,命令,信息,状态,简介,lin

      linux命令行后台运行?

      linux命令行后台运行?,服务,状态,标准,暂停,命令,后台,连续,地方,工作,方法,l

      脚本运行linux命令?

      脚本运行linux命令?,系统,环境,工具,工作,位置,底部,代码,发行,官网,终端,lin

      linux进程运行命令?

      linux进程运行命令?,系统,工作,状态,地址,信息,进程,基础,命令,管理,软件,lin

      linux显示运行命令?

      linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如

      linux命令下写脚本?

      linux命令下写脚本?,服务,系统,环境,代码,名称,命令,脚本,发行,在线,情况,三

      linux使用命令的方法?

      linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,

      linux运行vim命令?

      linux运行vim命令?,系统,工具,官方网站,模式,基础,数据,代码,环境,入口,命令

      linux监控命令运行?

      linux监控命令运行?,系统,工作,地址,信息,工具,情况,标准,环境,命令,状态,lin

      linux中命令停止运行?

      linux中命令停止运行?,系统,代码,第一,命令,进程,指令,程序,方法,接线,硬盘,l

      linux把命令变成脚本?

      linux把命令变成脚本?,系统,环境,工作,脚本,命令,信息,基础,代码,文件,变量,

      脚本调用linux命令?

      脚本调用linux命令?,代码,系统,工作,底部,脚本,位置,环境,行用,官网,标准,typ

      linux自动运行命令?

      linux自动运行命令?,服务,系统,时间,代码,周期性,第一,命令,管理,在线,状态,l

      linux脚本命令输信息?

      linux脚本命令输信息?,系统,信息,代码,脚本,数据,工具,发行,命令,变量,文件,l

      linux上启动脚本命令?

      linux上启动脚本命令?,服务,状态,系统,代码,脚本,工作,周期性,命令,文件,方

      linux开启运行命令?

      linux开启运行命令?,系统,服务,工作,管理,状态,命令,标准,情况,环境,工具,lin

      linux运行wps命令?

      linux运行wps命令?,软件,官网,名称,时间,电脑,系统,工具,环境,项目,数据,wps

      linux运行cmd命令?

      linux运行cmd命令?,电脑,系统,状态,情况,环境,命令,单位,管理,设备,数据,电脑