5

因此,很长一段时间以来,我一直在为接受像 Chef 或 Puppet 这样的部署/配置管理工具而苦恼。不是因为我总体上对它们有任何犹豫,而是因为我认为它们不适合我们的特定场景。

据我所知,这些类型的工具针对的是频繁/大规模部署,您需要将软件部署到 10 到 1000 个系统。在我们的环境中,我们有大约 25 个不同的 Web 服务集合,分布在六个运行时中,目前每个都有 1-8 个部署在生产中。我们最大的部署问题是每个服务都有不同的部署故事,而且它完全是手动的,所以它往往很耗时且容易出错。另一个问题是生产中的不同实例可能是软件的不同版本,因此我们可能需要同时支持单个服务的多个部署故事。

所以我觉得我们需要更类似于 Ant/Maven/Rake 的东西,它们是为每个服务定制的。但是,我对这些的经验是,它们通常专注于本地操作,并且特定于给定的语言/运行时。

是否有一个运行时无关的框架来以我感兴趣的方式描述和编排构建/测试/部署?

我敢肯定,如果我击中它们的时间足够长,我可以让 Rake 或 Puppet 为我做这些,但我正在寻找为此目的而构建的东西。

(哦,更糟糕的是,一切都在 Windows 上运行)

谢谢!

4

1 回答 1

2

这是您可能要考虑的另一种选择:kwatee(我是附属的)是一个免费的轻量级部署工具,除了具有 Web 管理界面外,还可以与 ant(或 maven 或任何其他与 python CLI 的)集成以自动构建和部署例如开发/测试环境。

其中一件好事是 Web 配置界面,它可以很容易地快速配置您的部署故事,即哪个软件/版本在哪个服务器上运行。通常需要根据目标服务器在配置文件中设置不同的参数。为此,您可以使用为每个服务器配置不同值的 kwatee 变量(类似于环境变量)“模板化”您的包。

软件必须以文件文件夹或存档(zip、tar、tar.gz、bzip2、war)或单个文件(例如 exe)的形式在 Kwatee 的存储库中注册。不支持微星。要在 Windows 上部署 kwatee 需要服务器具有 telnet/ftp 或 ssh/scp(那里有免费工具)。

于 2012-11-17T07:13:50.260 回答