zoukankan      html  css  js  c++  java
  • fabric使用实例(发布web包的一个例子)

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -* 
     3 #添加中文注释的编码 
     4 #fabfile.py
     5 from fabric.api import *
     6  
     7 env.user = 'root'
     8 env.hosts = ['192.168.1.100']
     9 #远程服务器的密码,这个建议不要填写,宁愿在运行的过程输入,因为这是明文显示的,不安全
    10 #也可以将机子的ssh打通,这样就可以避免输入密码的麻烦
    11 #env.password = 'testtest'
    12  
    13 #从版本库取出,并删除.svn文件
    14 def download():
    15     local('rm -rf /tmp/newer' )
    16     local('mkdir /tmp/newer')
    17     local('svn checkout svn://localhost/newer /tmp/newer')
    18     local('find /tmp/newer -name ".svn" | xargs rm -rf')
    19  
    20 #压缩打包
    21 def pack():
    22     with lcd('/tmp/'):
    23          local('tar czvf newer.tar.gz ./newer')
    24  
    25 #部署远程服务器目录结构
    26 def display():
    27     run('rm -rf /var/www/html/tmp')
    28     run('mkdir /var/www/html/tmp')
    29     # 将本地的压缩包发送到远程服务器
    30     put('/tmp/newer.tar.gz','/var/www/html/tmp')
    31  
    32     with cd('/var/www/html/tmp'):
    33          run('tar xvf newer.tar.gz')
    34  
    35     #部分目录进行特别处理
    36     with cd('/var/www/html/newer/public/'):
    37          run('cp -r ueditor ../../tmp')
    38  
    39     with cd('/var/www/html/'):
    40          run('rm -rf newer')
    41          run('cp -r /var/www/html/tmp/newer ./')
    42  
    43     with cd('/var/www/html/newer/public'):
    44          run('rm -rf ueditor')
    45          run('cp -r /var/www/html/tmp/ueditor ./')
    46  
    47 # 执行部署
    48 def go():
    49     download()
    50     pack()
    51     display()

    fab -f deploy.py go

  • 相关阅读:
    获取最近一周
    git设置个人信息
    ajax的content-download时间过慢问题的解决与思考
    element UI table中字符太多
    git 合并代码冲突最终解决办法
    thinkphp swoole 的使用
    vue elemnet 二进制文件上传
    Python+Selenium+Chrome 笔记(2)Selenium的Hello World
    chrome 自动测试插件
    php-fpm 错误日志 与 php 错误日志的用法
  • 原文地址:https://www.cnblogs.com/gide/p/6554706.html
Copyright © 2011-2022 走看看