fabric 安裝及使用

官網地址html

1.安裝python

 pip install fabric


    依賴 Paramiko 、PyCrypto庫windows

 

  如下依賴肯能要手動安裝 api

#安裝 pycrypto 密碼庫
pip install pycrypto
#安裝 pycrypto 依賴 pip install ecdsa


  ps:【windows7 x64 ,python2.7 】Windows下pip安裝包報錯:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat   
   
    能夠安裝一個Micorsoft Visual C++ Compiler for Python 2.7的包服務器

 

 



   
2.fabric使用

    新建py腳本:fabfile.py併發

 def hello():
        print("Hello world!")


    執行fab命令cors

fab hello


    若是當前模塊下沒有fabfile.py文件,那麼須要指定-f參數   python2.7

 fab -f test.py hello

 

    使用參數工具

def hello(name, value):
    print("%s = %s!" % (name, value))


fab hello:name
=age,value=20


    執行本地操做ui

from fabric.api import local, lcd

def lsfab():
  with lcd('~/tmp/fab'):
     local('ls')


    遠程操做

def setting_ci():
    local('echo "add and commit settings in local"')

def update_setting_remote():
     print "remote update"
     with cd('~/temp'):   #cd用於進入某個目錄
         run('ls -l | wc -l')  #遠程操做用run 


    多服務器操做

#!/usr/bin/env python
# encoding: utf-8

from fabric.api import *
env.roledefs = {
            'testserver': ['user1@host1:port1',],
            'productserver': ['user2@host2:port2', ]
            }            

@roles('testserver')
def task1():
    run('ls -l | wc -l')

@roles('productserver')
def task2():
    run('ls ~/temp/ | wc -l')

def do():
    execute(task1)
    execute(task2) 


    用不一樣顏色打印

from fabric.colors import *

def show():
    print green('success')
    print red('fail')
    print yellow('yellow')   


    fabric 命令行工具

裝飾器做用?
    @task
    @parallel

    命令行經常使用: fab --help
    fab -l             -- 顯示可用的task(命令)
    fab -H             -- 指定host,支持多host逗號分開
    fab -R             -- 指定role,支持多個
    fab -P             -- 併發數,默認是串行
    fab -w             -- warn_only,默認是碰到異常直接abort退出
    fab -f             -- 指定入口文件,fab默認入口文件是:fabfile/fabfile.py

 更多參見官網

相關文章
相關標籤/搜索