与Python脚本一起运行Fabric

11 投票
2 回答
14130 浏览
提问于 2025-04-17 06:29

我发现大部分的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 的文档

撰写回答