我正在寻找不同的技术/工具,你用来部署一个ASP.NET web应用程序项目(而不是 ASP.NET网站)到生产?
我特别感兴趣的是,从持续集成构建服务器将二进制文件放到某个位置到第一个用户请求命中这些二进制文件这段时间之间发生的工作流。
请随时完成前面的列表。
下面是我们用来部署ASP.NET应用程序的方法:
发布于 2009-07-17 13:33:53
我们使用Setup Factory将所有代码部署到MSI中。如果需要更改,我们会重新部署整个解决方案。这听起来像是对css文件的过度杀伤力,但它绝对保持了所有环境的同步,并且我们确切地知道生产环境中是什么(我们以相同的方式部署到所有测试和uat环境)。
发布于 2009-07-17 13:38:52
我们对实时服务器进行滚动部署,所以我们不使用安装程序项目;我们有更像CI的东西:
robocopy自动确保仅部署更改。
Re的应用程序池等;我喜欢这是自动(see this question),但在目前它是手动的。不过,我真的很想改变这一点。
(我们有自己的数据中心和服务器场“现场”可能会有所帮助,所以我们不需要跨越太多障碍)
发布于 2010-07-22 03:12:45
我将大部分ASP.NET应用程序部署到Linux服务器上,并重新部署所有应用程序,即使是最小的更改。以下是我的标准工作流程:
的代码文件将文件放到以当前日期命名的目录中的web服务器)如果deployment
签出是使用Subversion的命令行版本完成的,构建是使用xbuild (类似于Mono项目的msbuild)完成的。大多数魔术都是在ReleaseIt中完成的。
在我的开发服务器上,我本质上是持续集成的,但在生产端,我实际上是通过SSH连接到服务器,并通过运行脚本手动启动部署。我的脚本被巧妙地命名为'deploy‘,这就是我在bash提示符下输入的内容。我很有创造力。不。
在生产环境中,我必须键入“deploy”两次:一次是签出、构建并部署到一个过时的目录,另一次是将该目录设置为默认实例。由于目录已经过时,我可以通过在相关目录中输入'deploy‘来恢复到以前的任何部署。
初始部署需要几分钟,恢复到以前的版本需要几秒钟。
对我来说,这是一个很好的解决方案,它只依赖于三个命令行实用程序(svn、xbuild和releaseit)、DB客户端、SSH和Bash。
我真的需要在某个时候更新CodePlex上的ReleaseIt副本:
https://stackoverflow.com/questions/1143274
复制相似问题