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

转载于:https://www.cnblogs.com/gide/p/6554706.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值