使用python-fabric进行远程环境部署

使用fabric可以通过ssh连接远程终端,对终端进行操作,可以进行远程环境的部署,前提是远程终端已安装openssh-server,且ssh-server开启

安装fabric

fabric支持python2和python3,不过python3在安装时,要安装fabric3,虽然安装fabric也可以成功,但是用不了,会有报错

$pip install fabric    #python2
$pip3 install fabric3    #python3

使用方法

1、安装后,手动创建一个fabfile.py的脚本文件
2、名称不能变,必须是fabfile.py,否则运行时会报错,找不到任何fabfile.py文件;当然如果非要命名成其他文件也可以,但是运行时要加参数-f filename
3、在终端中运行命令即可 (fab -h显示帮助信息,可以查看所有参数)

常用的fabric.api

 'abort'    终止执行
 'cd'     远程终端切换到指定路径
 'lcd'    本地终端切换到指定路径   
 'env'    fabric环境变量,这是个dict
 'get'    从远程终端下载文件到本地
 'put'    从本地上传文件到远程终端  
 'run'    执行远程命令
 'local'    执行本地命令
 'sudo'    以sudo的权限执行命令

常用的就这几个,其余的后期再去研究

简单的例子

在某路径下创建一个fabfile.py的文件

# -*- coding: utf-8 -*-
from fabric.api import *
env.hosts = ['10.4.66.87']
env.user = 'jkwang'
env.password = '20160418'
def mytest():
    run('ls -ll')
    with cd('testforfab'):
        run('echo "hello"> a')
        run('ls -la')

运行结果


1: svn checkout命令:svn co url --username xxx --password xxx ./ 参考http://riaoo.com/subpages/svn_cmd_reference.html
2: 参考廖雪峰老师的博客,有更具体的例子:http://www.liaoxuefeng.com/article/001373892650475818672edc83c4c978a45195eab8dc753000

posted on 2017-05-03 16:41  胡欣欣  阅读(1236)  评论(0编辑  收藏  举报