什么是stream行的生产软件部署系统?

我很想知道什么是stream行的生产部署系统,即stream行的方式,从testing/ qa沙箱中移动东西,最终版本被推到生产中供使用。 我听说过像autosys,vcs,zapp。 这些行业标准的生产部署系统是? 像谷歌,微软,雅虎,亚马逊等biggies什么使用?

雅虎广泛使用的一种工具是pogo ,它是一个大规模并行的基于ssh的执行工具。 它可以用来在数千台机器上同时调用命令。 Pogo还包含一个约束机制来说“像一次只运行在这种types的服务器的20%”的东西。 在pogo中还有一个pre / post hook和recipe机制来执行自定义的检查和命令。 经常使用的一种方法是运行健康检查,在软件推送之后validation机器上的服务恢复。

其他人使用的类似工具是Capistrano 。 我不知道很多,但这个工具得到了很多提及。

许多人在其configurationpipe理工具中使用远程执行工具来完成这项任务。 这可以通过例如Puppet或Cfengine或Chef完成 。 这些解决scheme往往在较小的尺度上正常工作。 在规模较大(数千台服务器)的情况下,您应该看一下像上面提到的更专业的工具。

当然你也可以使用ClusterSSH这样的工具来完成这样的任务,但是我build议不要这样做,因为它不是真正的脚本或可重复的。