内容简介:python编程(fabric部署)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
代码写好了,怎么部署到服务器上面一直是一个问题。过去,我们常常自己用pexpect或者paramiko通过ssh直接拷贝的方法来完成这一工作,这种方法非常暴力而且容易出错。后来有一次机会用了fabric,发现确实不错。通过它,上传、下载、执行服务器程序都能轻松搞定。
1、下载fabric
sudo apt-get install fabric
2、编写fabfile.py
def hello(): print("Hello world!")
3、执行fab文件
fab hello
默认情况下,系统会默认查找fabfile.py这个文件。当然大家也可以用自己喜欢的文件名,比如test.py,这个时候就要这么执行了,
fab -f test hello
4、带参数的task
def hello(name="world"): print("Hello %s!" % name)
这个时候只需要给出自己的参数就可以了,
fab hello:name=Jeff
5、执行本地命令
from fabric.api import local def prepare(): local("ls -l")
6、执行多个命令
from fabric.api import local def test(): local("ls -l") def commit(): local("ls -l") def push(): local("ls -l") def prepare(): test() commit() push()
7、出错处理
fab程序在执行脚本出错的时候会自动终止,不再继续往下执行。
8、远端执行
from __future__ import with_statement from fabric.api import * from fabric.contrib.console import confirm env.hosts = ['user@ip'] def test(): run('ls -l')
9、上传文件
from __future__ import with_statement from fabric.api import * from fabric.contrib.console import confirm env.hosts = ['user@ip'] def test(): l = './*.pdf' r = '~' put(l, r)
9、下载文件
from __future__ import with_statement from fabric.api import * from fabric.contrib.console import confirm env.hosts = ['user@ip'] def test(): r = '~/*.pdf' l = './' get(r, l)
10、远端起服务器程序
对于这种情况,建议先用创建run.sh,将要执行的命令用nohup运行的方式保存在run.sh中。接着,按照如下方式编写脚本运行就可以了,
def deploy(): run('./run.sh', pty=False)
11、其他资料
关于fabric的其他资料,建议直接看 官网 ,上面的介绍也详细、直观得多。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- python编程(webpy + gunicorn + nginx部署)
- linux 部署golang 项目(直接部署和基于nginx部署)
- 部署策略对比:蓝绿部署、金丝雀发布及其他
- 使用Docker容器化部署实践之Django应用部署(一)
- 【前端打包部署】谈一谈我在SPA项目打包=>部署的处理
- 「实战篇」开源项目docker化运维部署-后端java部署(七)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Redis 深度历险:核心原理与应用实践
钱文品 / 电子工业出版社 / 2019-1 / 79
Redis 是互联网技术架构在存储系统中使用得最为广泛的中间件,也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一,特别是那些优秀的互联网公司,通常要求面试者不仅仅掌握 Redis 基础用法,还要理解 Redis 内部实现的细节原理。《Redis 深度历险:核心原理与应用实践》作者老钱在使用 Redis 上积累了丰富的实战经验,希望帮助更多后端开发者更快、更深入地掌握 Redis 技能。 ......一起来看看 《Redis 深度历险:核心原理与应用实践》 这本书的介绍吧!