用Fabric优雅的发代码
来源:互联网 发布:悉尼大学 住宿 知乎 编辑:程序博客网 时间:2024/05/15 01:52
程序员部署发布代码的时候多了,一点会觉得麻烦。开发环境、测试环境、生产环境。需要用个工具来帮我做这件事,不然每次更新发布代码,还得登录服务器执行命令,实在繁琐。目前python有两种比较主流的工具,一个是fabric([http://www.fabfile.org/](http://www.fabfile.org/)),还有一个是ansible(fabric简单易用,ansible专业)。
1.安装:
pip install fabric
博主用的mac,使用fabric使用碰到两个错,一起贴出来。依赖cryptography,执行
pip install cryptography --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include"
ImportError: No module named nacl.signing
pip install pynacl
- 使用
新建一个fabfile.py文件
# -*-coding:utf-8 -*-# fab deploy:devimport sysfrom fabric.api import run, env, cd, sudo# 使用ssh_config,也可以使用账户密码env.use_ssh_config = Truedeploy_env = sys.argv[-1].split(':')[-1].upper()# 验证deploy_envassert deploy_env in ['DEV', 'RELEASE']# 设置连接的hostsenv.hosts = [deploy_env]# 发布代码def deploy(host): host = host.upper() # 非测试环境,需要用户手动输入Y(严谨一点!!!) if host != 'DEV' and raw_input('Are you sure? Y/y: ').upper() != 'Y': sys.exit(1) # 进入项目,使用git拉最新代码 with cd('/home/deploy/projects'): run('git checkout .') run('git pull') # 重启supervisord if host != 'DEV': sudo("supervisorctl restart project") else: run("supervisorctl restart project")
发布代码
fab deploy:dev 发布测试环境
fab deploy:relase 发布正式环境
贴一些资料方便大家学习:
http://wklken.me/posts/2013/03/25/python-tool-fabric.html
http://www.fabfile.org/
http://liyangliang.me/posts/2015/03/deploy-applications-using-fabric/
阅读全文
0 0
- 用Fabric优雅的发代码
- 优雅的javaScript代码
- 什么是优雅的代码?
- 什么是优雅的代码
- 基于Fabric的代码自动化发布
- ffmpeg优雅的添加代码
- 优雅的代码-@valid 使用
- 如何优雅的抄袭代码!
- 如何优雅的用js动态添加html代码
- 【Java】如何优雅的用代码制作企业公章
- 用 RxSwift + Moya 写出优雅的网络请求代码
- 优雅的代码---浅谈注释的重要性
- Fabric核心API的使用教程(配合python代码)
- 15套优雅的配色方案代码
- 15套优雅的配色方案代码
- 如何写成优雅的代码(格式篇)
- 教你编写优雅的JavaScript代码
- 如何写出优雅的java代码
- JavaScript 隐藏元素
- 定时器系列-被誉为神器的requestAnimationFrame
- 蓄水池抽样算法
- git笔记——如何将现有项目发布到远程仓库
- oracle 表锁
- 用Fabric优雅的发代码
- 2.5 协调作用域不同步的Bean
- php 返回一个数组中特定值的所有下标
- tomcat下使用JNDI与JavaMail冲突问题
- 六个企业管理层不可不知的思维导图模板
- 【入门】java基础--1
- JavaScript函数
- python2017下载地址及激活
- 日期转化问题