Запуск Fabric вместе со скриптом Python - PullRequest
10 голосов
/ 17 ноября 2011

Я вижу, что большинство 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 в Main Method. Поэтому, когда я запускаю его как скрипт на python, структура будет выполнена.

python ./sample.py

Спасибо!

Ответы [ 2 ]

19 голосов
/ 17 ноября 2011

Чтобы ответить на ваш вопрос напрямую, вы можете добавить этот фрагмент в свой файл:

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.

0 голосов
/ 20 февраля 2016

Вы должны дать команду выполнения ткани.В самом низу выполнить (развернуть)

...