fabric使用实例(发布web包的一个例子)
2017-03-15 15:57
309 查看
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
相关文章推荐
- 使用C#的HttpWebRequest模拟登陆访问人人网(很好的一个例子,理解http的基本工作方式)
- 使用Tomcat发布一个WEB项目(web,tomcat概述)
- 一个使用HttpWebRequest类下载指定URL网页的例子
- CMS内容管理系统开发- Java Web开发及发布实例(2)—使用JSP实现动态数据交互
- Fusion实例1:如何通过竞技场使用共享内存来发布一个指针?
- 在看官方的例子时候由一个grid实例,在每一行之前有个加号,展开可以显示内容,在实际应用中还是非常有用的,照搬例子的代码,发现老是提示对象不存在,查阅资料后发现是没有加载插件,这里和大家分享下Ext.grid.RowExpander插件的使用,
- 一个删选数据的例子,使用GROUP、DISTINCT实例解析
- Java Web 跨平台 - 使用Apache Axis2引擎发布基于Java语言的WebService并跨平台调用实例
- web.config文件自定义配置节的使用方法的一个简单例子
- 这是一个神奇的登录框(Bugku-web题 使用sqlmap注入实例)
- Webpack入门——使用Webpack打包Angular项目的一个例子
- 【实例】使用canvas缓缓加载一个图片到web页面中
- 使用Apache中的HttpClient的实例CloseableHttpClient的一个例子
- 使用maven命令终端构建一个web项目及发布该项目
- 使用C#的HttpWebRequest模拟登陆访问人人网(很好的一个例子,理解http的基本工作方式)
- Webpack入门——使用Webpack打包Angular项目的一个例子
- 使用maven命令终端构建一个web项目及发布该项目
- 通过一个Socket例子理解Http协议(实战Java Web服务器--使用HTTP协议和JAVA类实现)
- 关于上传图片插件webuploader的使用(同一个页面存在多个实例):