Python - 在本地或远程运行Fabric

时间:2015-05-29 06:29:13

标签: fabric

我有一个通常在远程计算机上运行的结构代码,但有时在本地运行它会很有帮助。

我找到了两种方法来实现这个目标:

方法#1:仅使用'运行'命令(避免使用本地)并设置ssh密钥以在同一台机器上用于本机,就像你想要自己ssh一样。

方法#2:

from fabric.api import local
from fabric.api import run as run_
def is_local():
    return len(env.hosts) == 0 or env.hosts == ['localhost']

def run(cmd, curr_dir=None):
    if is_local():
        if curr_dir:
            with cd(curr_dir):
                return local(cmd, capture=True)
        else:
            return local(cmd, capture=True)
    else:
        if curr_dir:
            with cd(curr_dir):
                return run_(cmd)
        else:
            return run_(cmd)

这限制了我以防我想使用一些操作,如quiet()... 您认为能够远程或本地运行相同代码的最佳解决方案是什么? 也许还有一个我不知道的额外技巧。

0 个答案:

没有答案