使用 Capistrano 执行大学实验室的用户维护任务是否可行?

使用 Capistrano 执行大学实验室的用户维护任务是否可行?

我一直在寻找工具来替代一些用于在大学计算机实验室生态系统中创建和维护账户的遗留脚本,这些脚本包括以下内容:

  • LDAP 和 Kerberos 用于身份验证
  • 用户主存储和网页
  • SQL 数据库中的条目
  • 打印配额
  • 邮件列表等

如果可能的话,我还想自动化 Kerberos 和 Puppet 的机器和 VM 成员资格。

我找到了 Capistrano,虽然通过 SSH 在远程主机上运行任务的基本原理似乎很合适,而且 Ruby 中的 DSL 看起来也很不错,但我发现大多数文档都与应用程序部署有关,而不是通用任务。我也不知道有什么好方法可以参数化任务,以便我可以传递用户信息进行创建。

我对 Capistrano 有什么误解吗?或者它不是适合这项工作的工具?还有其他更有用的替代品吗?

答案1

正如您所发现的,Capistrano 主要是一个部署工具。听起来您需要的是一个配置管理工具。Puppet、Chef、Salt 和 Ansible 都是 CM 工具的例子。它们都是功能非常强大的产品,但对于您的情况,我建议您先看看 Ansible。

所有这些语言都具有某种声明性语言,您可以使用它们来描述系统的期望状态。仅此功能对于某些工作流程来说已经足够了,但在某些情况下,您只想让 CM 按顺序运行一组命令。这就是 Ansible 的优势所在 - 它允许您声明系统各部分的配置位,然后指定要运行的 shell 命令。

另一个巨大的Ansible 相对于其他选项的优势在于,客户端的唯一要求是一个 python 解释器和一个 ssh 服务器 - 无需代理。

相关内容