一起使用Python脚本运行Fabric

时间:2011-11-17 10:17:43

标签: python ssh fabric

我看到大多数Fabric API都与函数一起使用。

文件示例(sample.py):

from fabric.api import *
print "Hello"

def deploy():
    with settings(hosts_string="Remote", user = "ubuntu", key_filename="/home/ubuntu/key.pem"):
        put('/home/localuser/sample.sh', '/home/ubuntu/')
        run('bash /home/ubuntu/sample.sh')

我运行命令执行

fab deploy

是否可以在Main方法中运行Fabric。因此,当我将其作为python脚本运行时,将执行结构。

python ./sample.py

谢谢!

2 个答案:

答案 0 :(得分:19)

要直接回答您的问题,您可以将此代码段添加到您的文件中:

from fabric.api import *
print "Hello"

def deploy():
    with settings(host_string="Remote", user = "ubuntu", key_filename="/home/ubuntu/key.pem"):
        put('/home/localuser/sample.sh', '/home/ubuntu/')
        run('bash /home/ubuntu/sample.sh')

if __name__ == '__main__':
   deploy()

现在,当您运行python ./sample.py时,它将执行与fab deploy

相同的操作

但是,除了您的简单示例之外,fab还允许您执行更多操作。有关fab命令灵活性的更多信息,请参阅fab documentation

答案 1 :(得分:0)

您必须提供fabric的执行命令。在最底层执行(部署)