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:dev import sys from fabric.api import run, env, cd, sudo # 使用ssh_config,也可以使用账户密码 env.use_ssh_config = True deploy_env = sys.argv[-1].split(':')[-1].upper() # 验证deploy_env assert deploy_env in ['DEV', 'RELEASE'] # 设置连接的hosts env.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/