是否有任何工具,例如Django South数据库迁移应用程序,但用于迁移整个服务器配置?
我完全通过源代码管理管理多个服务器配置。Django 应用程序代码、Apache 配置、负载均衡器配置、Ubuntu 软件包列表,所有内容都列在配置文件中,并可通过Fabric命令进行部署。但是,我仍然需要手动确定更改的内容,并决定依次运行哪些部署命令以使服务器与我的配置文件匹配。
理想情况下,我想以 South 管理我的数据库模式的方式来管理我的服务器。更改代码后,我想生成“模式迁移”,这将确定是否需要重写 Apache.conf、是否需要上传静态媒体、是否需要安装新的系统包等.
我看过一些传统的配置管理工具,但即使是最大的工具,比如 Chef 和 Puppet,似乎也没有这样的功能,而且通常不是幂等的。我自己与 Chef 的亲身经历表明,这在一定程度上是它的目标,但它通常无法实现这一点,并且众所周知难以定制和调试。
有谁知道具有此功能的工具?