系统部署环境是一件很乏味的工作,系统管理也是,fabric让这一切更加自动化,何乐而不为呢,于是决定学好这个工具。

###What is it?

  • Simple, Pythonic remote execution and deployment.

###fabric具体都干些啥

  • 通过SSH在多个host上批量执行任务
  • 自动化部署,或者执行系统管理任务

###学习使用 首先当然是去阅读官方文档

1
2
3
from fabric.api import local
def lslocal():
    local('ls')

###在django里用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from fabric.api import run, local, hosts, cd
from fabric.contrib import django

django.project('myproject')
from myproject.myapp.models import MyModel

def print_instances():
    for instance in MyModel.objects.all():
        print(instance)

@hosts('production-server')
def print_production_instances():
    with cd('/path/to/myproject'):
        run('fab print_instances')