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

问题描述 投票:2回答:2

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

python compare fabric plumbum
2个回答
2
投票

background and suggested comparison methodology

(哎呀,这是一个死的帖子)

这两个工具都很有趣,允许本地或远程工作,但在他们应该解决的事情上有所不同,即“术语”,并且两者基本上都被现代部署/自动化工具(如ansible,以及许多其他工具)淘汰了。选择DSL方式,例如terraform)。他们优于更现代的优势是缺乏关于“如何”的“自以为是”的方法,而更多地关注“什么”。

建议的比较标准:

  1. “Pythonness”与“Shellness”(即每个用户代码的“pythonic”如何)
  2. 特殊能力
  3. ROI有两种类型的“自动化”代码维护者(ops vs. devs,让我们将“QA”作为介于两者之间)

面料(我的最后一项工作是在1.8时完成,用一粒时间盐):

  1. 更加pythonic,而不是贝壳,这意味着旧工具和新工具都很容易支持 - 即编辑器,IDE很容易设置
  2. 许多上下文处理器,许多装饰器,非常好
  3. 开发人员更容易采用,操作人员会有更多的牵引力

带领

  1. 用户代码可以是pythonic或shellish
  2. “shell组合器”是获得高级shell / perl民谣的杀手级功能,但它使用动态导入,因此编辑器/ IDE设置起来有点棘手。
  3. 由于1.由于模仿Plumbum中的shell构造,你会让'ops'的人更容易,但请安装好的编码约定。

Epilogue

与两个工具包(有很多乐趣)合作,然后切换到ansible - 我有信心声称 - 这两个工具现在已被ansible取代。你可以使用现有的ansible模块完成大多数自动化任务,你可以做什么 - 你可以为它编写一个插件或模块(用任何语言),或者只是调用shell模块。

我的考虑是:

  • 如果您的维护团队具有良好的编程技能(Esp。在python中),作为一项要求 - 您可以使用任何一种结构,Plumbum(它有更酷的黑客;))或Ansible。
  • 如果你有多级别的多团队组织,我会简单地押注Ansible--它具有较低的学习曲线,并且可以轻松地成长。

美好的一天。


0
投票

他们几乎是一回事。对于面料而言,最大的胜利是能够并行连接多个主机,当您使用非平凡的设置时,这或多或少是不可或缺的。 fabric还提供了几个contrib助手,可以让你上传jinja模板,上传文件,并将文件传输回本地系统。我个人发现使用远程服务器时,fabric api更加直观。

当然,YMMV,但两者都面向非常接近shell命令。也就是说,我和我的团队专注于大多数配置/部署流程的安全性。 Fabric确实提供了一些超过ansible的能力,但却不得不推出自己的幂等性。

© www.soinside.com 2019 - 2024. All rights reserved.