与Python脚本一起运行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
我想知道是否可以在主方法中运行Fabric。这样当我把它当作一个Python脚本运行时,Fabric就会被执行。
python ./sample.py
谢谢!
2 个回答
0
你需要使用fabric的执行命令。在最底部执行(deploy)这个命令。
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 的文档。