系统部署环境是一件很乏味的工作,系统管理也是,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')
|