生产部署工具

与构build软件类似,应该使用工具来部署生产服务器更新(无论是数据库,网站,路由器configuration等)。 使用工具可以减less某些types的人为错误(例如错过的步骤)。

  • 什么工具可用于软件/configuration/等部署(无论是自由还是商业)?

  • 每个post列出一个工具
  • 它执行的部署过程的哪一部分
  • 使用此工具的特殊优点或缺点(即仅支持.NET,支持所有的LAMP / WAMP平台等)

不要添加一个已经存在的工具,如果你对某个给定的答案有特别的要求,可以添加注释。

-亚当

Puppet是用Ruby编写的一个最近编写的工具,它正在逐渐取代cfengine。

cfengine是unix世界的标准例子。

我真的很喜欢cfengine 3

在给定正确configuration的情况下,它可以基本上处理部署过程的每个部分:从一个位置复制文件,自动使用打包系统(如apt,yum)安装/更新包,启动/停止服务,检查文件/页面内容。

我使用它来安装(或者检查是否存在),因为我更像是一个Java人,所以在部署某些东西的时候,我从一个中心点下载了归档文件,停止Tomcat服务,将这个文件复制到Tomcat目录中,启动服务,并检查是否可以在特定的服务页面上find正确的值。 是的,cfengine几乎是自己做的。

优点 :

  • 它的作品(这是一个重要的function)。
  • 存在于Linux / Unix和Windows上(本机)
  • 小资源使用

缺点:

  • 起初有点难以使用,例子有点太完整了,但是教程都出现了

即使它主要是开发者的工具, Capistrano也是一个不错的select。

我不确定它支持Windows平台以外的效果如何。 Linux / OSX完全受支持。

您可以使用它在部署服务器上执行几乎任何操作,从文件更新到数据库备份以及用户pipe理。

与git仓库配合使用,您可以获得更改pipe理和快速简单的部署。

工具: 厨师是Opscode在1月份发布的新工具。 它是用Ruby编写的,它的configuration语言是纯粹的Ruby DSL。 这是一个积极发展的年轻工具,但已经被多家公司用于生产。

厨师可以pipe理您的整个基础架构,从设置PXE启动和kickstart服务,到部署应用程序和pipe理用户。 它非常灵活,可扩展和强大。

具体的优势是纯粹的Ruby DSL,一个RESTful API , 可search的节点数据 ,以及大量可用的烹饪书 。 由于Ruby DSL,复杂的数据结构和逻辑可以在配方中使用,并且与RESTful API一起使Chef成为编程基础架构的强大工具。

现在正在玩布料 ,这是相当光明,但沿着使用python卡皮斯特拉诺的线。

我们使用安装工厂

对于MS SQL Server迁移, sp_help_revlogin对于迁移用户以便将用户/ SID / pwds转移到新框中是非常有用的。

对于Windows:SCCM

我们使用Shavlik工具套件来处理补丁,configuration和审计。

我想不出有什么优点或缺点 – 它运作得很好,我们没有遇到任何我能记得的实际问题。 (这是我可以说的最好的事情 – 它运作得很好,我不必考虑它:)

我想给Capistrano和Chef一个大的+1。 两者都非常擅长通过ssh编写特定的部署和pipe理任务。 木偶也很有趣,但是古老的谚语通常都是真正的“各行各业的杰克,无人的杰作”。 你最好的select是find你想要完成的工作的最小工具。