为什么要在 Fabric 脚本中逐行重新实现 shell 命令?

4

Fabric是一款“执行本地或远程shell命令”的工具。

为什么要逐行重新实现远程shell脚本,而不是编写一个简短的Fabric脚本来运行长的远程shell脚本呢?

也就是说,为什么不只是编写一个简短的Fabric脚本,来运行长的远程shell脚本呢?

3个回答

4

如果我需要在10个服务器上运行相同的脚本,那么这不是一个好主意。这意味着我不仅要将相同的长脚本粘贴到10个服务器上,还要确保如果我在1个服务器上进行更改,则必须将更改应用于所有服务器。我知道可以通过将该脚本保存在共享位置来避免这种情况,但将脚本放在fabfile中更加有组织,这不仅可以进行版本控制,而且可以在所有角色上保持一致。


4

lobster1234提出了一个很好的观点,即你不想手动将一个长的远程shell脚本粘贴到10个服务器上。但是,如果你仍然想避免将长的远程shell脚本重写为一个长的Fabric脚本,你可以编写一个Fabric脚本,将该远程shell脚本复制到指定的服务器上,执行该脚本,然后删除该脚本。这样,你可以一起进行fabfile和shell脚本的版本控制,同时避免将shell脚本重写为Fabric脚本。


2
此外,我认为你选择的路径取决于你想要做什么。有些事情在Python中更容易(在fabfile中编写),而其他事情在shell环境中更容易(采用提到的其中一种shell方法)。
无论哪种方式,fabric都是面向集中和可移植性的,实际上承载工作的是什么并不重要。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接