jingjihui 发表于 2018-8-4 08:17:22

python学习之认识fabric

#!/usr/bin/env python  
# -*- coding: utf-8 -*
  
#添加中文注释的编码
  
#fabfile.py
  
from fabric.api import *
  

  
env.user = 'root'
  
env.hosts = ['192.168.1.100']
  
#远程服务器的密码,这个建议不要填写,宁愿在运行的过程输入,因为这是明文显示的,不安全
  
#也可以将机子的ssh打通,这样就可以避免输入密码的麻烦
  
#env.password = 'testtest'
  

  
#从版本库取出,并删除.svn文件
  
def download():
  
    local('rm -rf /tmp/newer' )
  
    local('mkdir /tmp/newer')
  
    local('svn checkout svn://localhost/newer /tmp/newer')
  
    local('find /tmp/newer -name ".svn" | xargs rm -rf')
  

  
#压缩打包
  
def pack():
  
    with lcd('/tmp/'):
  
         local('tar czvf newer.tar.gz ./newer')
  

  
#部署远程服务器目录结构
  
def display():
  
    run('rm -rf /var/www/html/tmp')
  
    run('mkdir /var/www/html/tmp')
  
    # 将本地的压缩包发送到远程服务器
  
    put('/tmp/newer.tar.gz','/var/www/html/tmp')
  

  
    with cd('/var/www/html/tmp'):
  
         run('tar xvf newer.tar.gz')
  

  
    #部分目录进行特别处理
  
    with cd('/var/www/html/newer/public/'):
  
         run('cp -r ueditor ../../tmp')
  

  
    with cd('/var/www/html/'):
  
         run('rm -rf newer')
  
         run('cp -r /var/www/html/tmp/newer ./')
  

  
    with cd('/var/www/html/newer/public'):
  
         run('rm -rf ueditor')
  
         run('cp -r /var/www/html/tmp/ueditor ./')
  

  
# 执行部署
  
def go():
  
    download()
  
    pack()
  
    display()
页: [1]
查看完整版本: python学习之认识fabric