AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1968
Accepted
Glenn Slaven
Glenn Slaven
Asked: 2009-05-01 16:50:51 +0800 CST2009-05-01 16:50:51 +0800 CST 2009-05-01 16:50:51 +0800 CST

您如何进行生产 IIS 网站部署?

  • 772

所以,不确定这是堆栈溢出问题还是服务器故障问题。如果我有一个想要部署到生产环境的 .NET 网站,那么最好的方法是什么。我应该将其打包为 MSI 并安装吗?使用 nant 将所需的文件向上推送。只需使用 Beyond Compare 将文件 FTP 上传?

您如何部署生产代码?这是我在此处查看的 Windows 特定案例。

deployment iis
  • 5 5 个回答
  • 6240 Views

5 个回答

  • Voted
  1. Best Answer
    Joel Spolsky
    2009-05-01T17:23:01+08:002009-05-01T17:23:01+08:00

    IIS 支持 xcopy 部署,因此您只需复制文件即可,除非您有特殊要求。

    一种方法是使用ROBOCOPY将新文件复制到服务器的简单脚本。

    如果站点很大并且花费的时间太长,请使用版本控制系统。为此,我喜欢Mercurial ,尽管您必须小心不要将版本控制系统的配置文件最终提供给公众。部署只需提交更改,然后检查服务器上的最新版本。除了高效之外,这还允许快速回滚(如果您标记了最后一个好的版本),以防您的最新和最伟大的错误出现。

    为了最大限度地减少停机时间,您可以让脚本将文件复制到新目录,然后快速重命名目录,或更改 IIS 指向新目录的位置。

    • 15
  2. Erv Walter
    2009-05-01T18:51:47+08:002009-05-01T18:51:47+08:00

    考虑使用 Microsoft 的Web 部署工具。它专门设计用于帮助将 Web 应用程序和这些 Web 应用程序的更新部署到生产 IIS 6 和 7 Web 服务器,并且它比 MSI(Windows Installer)、恕我直言做得更好。

    通常,您通过在某处设置“金牌大师”站点然后告诉该工具从那里打包更改来使用它。然后它将查看目标服务器以进行部署并进行任何必要的更改以使其看起来像黄金主机(这对于后续更新很有用)。如果您要部署到多个 Web 服务器(即场),它特别有用,并且它不仅支持部署文件(它还可以处理进行注册表更改、部署证书、SQL 数据库等)。

    • 13
  3. p.campbell
    2009-05-01T17:26:44+08:002009-05-01T17:26:44+08:00

    我会通过建议持续集成服务器从源代码控制系统中获取您的更改来进一步回答 Joel 的回答。然后它将构建项目。然后让它 xcopy 构建的输出到一个新文件夹。然后,您可以进行一些快速的配置更改(web.config 和 app.config)。瞧,为 Xcopy 准备好了!

    查看CruiseControl.NET

    • 4
  4. Michael
    2009-05-04T22:49:06+08:002009-05-04T22:49:06+08:00

    我在以前的雇主那里所做的,基本上是一个拍卖/电子商务网站,我们不允许有太多的停机时间:

    • 将发布/版本的压缩构建版本部署到构建服务器上
    • 在具有生产数据库副本且软件版本与生产软件相同的登台服务器上对其进行测试。测试一切顺利。如果不重新启动登台服务器的部署(但首先恢复备份)。
    • 如果一切顺利:将构建和数据库升级脚本复制到生产服务器到本地文件夹。对数据库和 ASP.NET 文件进行特定备份(以防仍然出现问题)。然后准备好一切,这样我只需单击 Enter 即可启动升级脚本和复制数据库文件(请注意,我可以为此创建一个脚本)。然后启动一切。这通常是几秒钟的事情,用户不会注意到停机时间。

    作为 Web 开发人员,有很多有趣的事情要做。但这是我工作中最关键的部分。

    • 3
  5. tsilb
    2009-05-01T18:45:59+08:002009-05-01T18:45:59+08:00

    哦,天哪,在工作中,我们有一个完整的团队来做这件事。他们有一个内部工具,可以将服务器从集群/农场中取出,发布文件,运行 NUnit,然后将其添加回集群/农场。他们为 16 台服务器中的每台服务器执行此操作。这需要几个小时。我们其他人甚至没有“环顾四周”。

    对于我的个人项目,我从 VS2005 直接发布到我的网络服务器。Kinda的安全性不那么严格。

    • 1

相关问题

  • 如何说服我的 IT 经理将企业从 IE6 升级到更新的浏览器?

  • 这个 Web 服务器可以处理多少个站点?[复制]

  • 如何在 IIS 中发送响应标头?

  • IIS 优化

  • IIS 6.0 (Windows Server 2003) 备份的最佳实践?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve