所以,不确定这是 Stack Overflow 问题还是 Server Fault 问题。如果我有一个 .NET 网站想要部署到生产环境,最好的方法是什么。我应该将其打包为 MSI 并安装吗?使用 nant 推送所需文件。只需使用 Beyond Compare 将文件通过 FTP 上传即可?
如何部署生产代码?这是我正在研究的一个 Windows 特定案例。
答案1
答案2
考虑使用Web 部署工具来自 Microsoft。它专门设计用于帮助将 Web 应用程序及其更新部署到生产 IIS 6 和 7 Web 服务器,在我看来,它比 MSI(Windows Installer)做得更好。
通常,您可以通过在某处设置“金牌主控”站点,然后告诉该工具从那里打包更改来使用它。然后,它将查看要部署的目标服务器,并进行必要的更改,使其看起来像金牌主控(这对后续更新很有用)。如果您要部署到多个 Web 服务器(即一个服务器场),它特别有用,并且它支持部署的不仅仅是文件(它还可以处理注册表更改、部署证书、SQL 数据库等)。
答案3
我进一步建议 Joel 的回答,让持续集成服务器从源代码控制系统中拾取您的更改。然后它将构建项目。然后让它将构建的输出复制到新文件夹中。然后您可以进行一些快速配置更改(web.config 和 app.config)。瞧,准备好进行 Xcopy 了!
查看巡航控制网
答案4
哦,天哪,我们公司有一支专门负责这项工作的团队。他们有一个内部工具,可以将服务器从集群/服务器场中取出,发布文件,运行 NUnits,然后将其重新添加到集群/服务器场中。他们为 16 台服务器中的每台服务器执行此操作。这需要几个小时。我们其他人甚至没有“查看访问权限”。
对于我的个人项目,我直接从 VS2005 发布到我的网络服务器。安全性不太严格。