Fabric和Plumbum python库对本地/远程命令执行的优缺点是什么?应该使用一个库而其他库不使用的用例是什么?应该注意哪些不同之处?
(哎呀,这是一个死的帖子)
这两个工具都很有趣,允许本地或远程工作,但在他们应该解决的事情上有所不同,即“术语”,并且两者基本上都被现代部署/自动化工具(如ansible,以及许多其他工具)淘汰了。选择DSL方式,例如terraform)。他们优于更现代的优势是缺乏关于“如何”的“自以为是”的方法,而更多地关注“什么”。
建议的比较标准:
与两个工具包(有很多乐趣)合作,然后切换到ansible - 我有信心声称 - 这两个工具现在已被ansible取代。你可以使用现有的ansible模块完成大多数自动化任务,你可以做什么 - 你可以为它编写一个插件或模块(用任何语言),或者只是调用shell模块。
我的考虑是:
美好的一天。
他们几乎是一回事。对于面料而言,最大的胜利是能够并行连接多个主机,当您使用非平凡的设置时,这或多或少是不可或缺的。 fabric还提供了几个contrib助手,可以让你上传jinja模板,上传文件,并将文件传输回本地系统。我个人发现使用远程服务器时,fabric api更加直观。
当然,YMMV,但两者都面向非常接近shell命令。也就是说,我和我的团队专注于大多数配置/部署流程的安全性。 Fabric确实提供了一些超过ansible的能力,但却不得不推出自己的幂等性。