Fabric vs Plumbum:差异,用例,优点和缺点

时间:2018-06-12 11:49:42

标签: python compare fabric plumbum

Fabric和Plumbum python库对本地/远程命令执行的优缺点是什么?应该使用一个库而其他库不使用的用例是什么?应该注意哪些不同之处?

2 个答案:

答案 0 :(得分:2)

背景和建议的比较方法

(糟糕的帖子)

这两种工具都很有趣,可以进行本地或远程工作,但是在应解决的问题(即“术语”)方面有所不同,并且现代部署/自动化工具(如Ansible和许多其他选择DSL方式的用户(例如terraform)。 与较现代的方法相比,它们的优势在于缺乏“方法”的“专一性”方法,而更多的是“什么”方法。

建议的比较标准:

  1. “ Pythonness”与“ Shellness”(即每个用户代码的“ pythonic”程度如何)
  2. 特殊功能
  3. 具有两种类型的“自动化”代码维护者的投资回报率(运营商与开发人员,让我们将“ QA”放在两者之间)

Fabric(我的上一个工作是在1.8时完成的,并花了一点时间盐):

  1. 更多的是pythonic,而不是外壳式的,这意味着旧工具和新工具都易于支持-即编辑器,IDE易于设置
  2. 很多上下文处理器,很多装饰器,非常好
  3. 更容易被开发人员采用,运维人员会带来更多的吸引力

  1. 用户代码可以是pythonic或shellish
  2. “ shell组合器”是使高级shell / perl人员加入的杀手级功能,但是它使用动态导入,因此设置编辑器/ IDE有点棘手。
  3. 由于1.由于在Plumbum中模拟了shell构造,因此您将使“ ops”人员更容易上船,但是请安装良好的编码约定。

结语

曾经使用过这两个工具包(很有趣),然后又切换到ansible-我有信心宣称-这两个工具现在已被ansible取代。 您可以使用现有的ansible模块执行大多数自动化任务,以及不能执行的自动化任务-您可以为其编写插件或模块(使用任何语言),也可以仅调用Shell模块。

我的考虑是这样

  • 如果您的维护人员团队具有一定水平的编程技能(例如python中的Esp。),则可以-您可以使用Fabric,Plumbum(它有更多很棒的技巧;)或Ansible。 li>
  • 如果您有多层次的多团队组织,我会简单地押注Ansible-它的学习曲线较低,可以轻松成长。

美好的一天。

答案 1 :(得分:0)

它们几乎是同一回事。相比于铅坠,Fabric的最大优势在于能够并行连接多个主机,当您使用非常规设置时,这或多或少是必不可少的。 fabric还提供了一些贡献者助手,您可以使用它们来上传jinja模板,上传文件并将文件传输回本地系统。我个人发现Fabric API对于使用远程服务器更加直观。

YMMV当然可以,但是两者都旨在非常接近shell命令。就是说,我和我的团队专注于大多数配置/部署流程。 Fabric确实为ansible提供了一定的功能,但以牺牲自己的幂等为代价。