一起使用Python脚本运行Fabric

Ezy*_*ryb 10 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')
Run Code Online (Sandbox Code Playgroud)

我运行命令来执行

fab deploy
Run Code Online (Sandbox Code Playgroud)

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

python ./sample.py
Run Code Online (Sandbox Code Playgroud)

谢谢!

Bur*_*lid 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()
Run Code Online (Sandbox Code Playgroud)

现在,当你跑步时python ./sample.py,它会做同样的事情fab deploy

但是,fab除了您的简单示例之外,您还可以执行更多操作.有关命令灵活性的更多信息,请参阅fab文档fab.

  • 认为settings参数应该是'host_string'(不是复数) (4认同)