1

有没有创意人士想帮助我跳出框框思考?

我们有一个 ASP.NET Web 应用程序,我们需要将其部署到 100 台机器上。除了配置文件(web.config)和一些其他文件(主要是脚本)之外,Web 应用程序是相同的。

我们的目标是:

  1. 能够通过发送增量更改来有效升级 Web 应用程序,这些更改也可以在出现问题时轻松恢复(基于每个项目或每个文件)。
  2. 对二进制文件的高效支持(因为此 Web 应用程序包含已编译的 *.dll)
  3. 不需要在目标机器上进行任何编译。

很高兴拥有的是:

  1. 轻松远程启动更新
  2. 有机会在更新后自动执行某些脚本(例如:数据库迁移)

我们目前有脚本将应用程序的每个单独实例的编译版本提交到源代码控制,并将适当的配置文件复制到每个文件夹。每个实例都从源代码管理中签出(以及以后更新)特定文件夹。

这个过程对于 100 个实例来说已经足够了,但不会扩展到 1000 个实例,因为它在每个版本中存储所有二进制文件的克隆(每个实例一个)。我正在寻找更好的方法来做到这一点。

最明显的答案似乎是保持相同的过程,但只有一个文件夹来包含文件(一个文件夹用于所有实例),并且在目标机器上更新后有脚本覆盖适当的文件。

有什么更好的方法来实现这一点?

4

0 回答 0