Fabric commands
run - run a command on a remote host
sudo - run a sudoed command on a remote host
local - run a command on the local host
get/put - copy a file from/to a remote host
prompt - ask the user for information*
Execute commands
get output and return code
output = run("command")
chain commands
run("workon project && git pull origin master")
start pseudo-daemons
run("screen -d -m not-a-daemon")
any return code except() is treated as an error and an exception is
thrown(unless warn_only is set)
Move files
Put a file(upload)
put("local-file", "remote-file", mode=0755)
Get a file(download):
get("remote-file", "local-file")
if a problem occurs while uploading or downloading files, fabric throws an exception
Ask questions
Validation
relase_name = prompt("What do you want to name the new release?: ", validate="^[a-zA-Z0-9] + $")
proxy_port_number = prompt("Proxy port: ", validate=int)
Default
username = prompt("Username: ", default="jack")
Keeping state(sort of)
Directories
with cd("xmpp/"):
run("git clone git://git/something.git")
run("mkvirtualenv --no-site-packages somthing")
For those running from trunk
with prefix("workon something"):
run("pip install xx>=1.1")
Contrib
Append text to files
from fabric.contrib.files import append
append(" DATABASE_NAME = 'hello.db' ", "local_settings.py")
Search and replace
Use fabric's sed function to modify content of files
from fabric.contrib.files import sed
sed("local_settings.py", "^DEBUG = True$", "DEBUG = False")
Fabric decorators
hosts 定义那些host或hosts可以执行
roles 定义一个角色名称的list,用于查看host lists
runs_once 确保方法只运行一次
Example
from fabric.api import run
env.hosts = [localhost]
env.user = 'djangodev'
def install_django():
run('workon myproject && pip install diango')
$fab install_django
ps:
rails的自动部署框架Capistrano
http://gist.github.com/472566
1. 修正bugs和实现新的特征
2. git存档
3. 把文件从开发环境分期移到生产环境
4. 安装更新,重复使用apps,pypi,packages
5. 运行备份
6. 保持跟踪本地设置
7. 清空和预热缓存
8. 迁移数据库
推荐
http://www.slideshare.net/
分享到:
相关推荐
settings.ini配置文件: [group_weblogicgp] group = weblogicgp group_id = 1001 [user_weblogic] group = weblogicgp user = weblogic user_id = 1001 home_dir = /weblogic shell = /bin/bash ...
区块链环境的搭建 第一:了解fabric的搭建流程; 第二:搭建有手动搭建和自动搭建,这里介绍的是手动搭建; 第三:作为fabric环境的入门基础。
因为整个代码部署过程都是相同的,只要我们用 Fabric 写好部署脚本,以后就可以通过运行脚本自动完成部署了。 首先在本地安装 Fabric: $ pipenv install fabric --dev 因为 Fabric 只需在本地使用,因此使用 –dev...
Python自动化部署工具Fabric的简单上手指南
python编写fabric安装以及自动部署。
python fabric实现远程部署 需求描述 在多人协同开发项目的过程中,几乎每天我们都要提交代码到git服务器,然后部署到测试服务器,每天都在敲那重复的几行命令,实在是无...借助Python的fabric模块可以将自动化部署或者
Fabirc是基于python实现的SSH命令行工具,非常适合应用的自动化部署,或者执行系统管理任务。 python2:pip3 install fabric python3:pip3 install fabric3 简单的例子: root@openstack:~# cat fabfile.py def ...
Fabric是一个用Python开发的部署工具,最大特点是不用登录远程服务器,在本地运行远程命令,几行Python脚本就可以轻松部署。...env.hosts = ['www.example.com'] # 如果有多个主机,fabric会自动依次部署 de
Fabric是一个Python库,只要目标机器支持ssh访问,就可以借助fabric来进行远程操作(如在host1上对host2远程运行shell命令),显然,由于fabric是个Python package,故其它Python package都可以被import到fabric特有...
Fabric 是基于 SSH 协议的 Python 工具,相比传统的 ssh/scp 方式,用 Python 的语法写管理命令更易读也更容易扩展,管理单台或者多台机器犹如本地操作一般。 官网地址:http://fabfile.org 安装 省略python、pip...
区块链毕业设计 基于fabric农产品溯源平台源码+项目资料齐全+部署文档(优秀项目).zip区块链毕业设计 基于fabric农产品溯源平台源码+项目资料齐全+部署文档(优秀项目).zip区块链毕业设计 基于fabric农产品溯源...
大家都知道Fabric是一个Python库,可以通过SSH在多个host上批量执行任务。你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量远程服务器上自动运行。...本文将介绍如何利用Fabric自动化你的任务。
区块链毕业设计 基于Hyperledger Fabric的区块链Web项目源码+项目资料齐全+部署文档(优秀项目).zip区块链毕业设计 基于Hyperledger Fabric的区块链Web项目源码+项目资料齐全+部署文档(优秀项目).zip区块链毕业...
Ansible-hyperledger-fabric-swarm.zip,在Docker-SwarmHyperLedger\u-on-Swarm上部署超账本结构,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
区块链毕业设计 基于fabric的学位证书认证系统源码+项目资料齐全+部署文档(优秀项目).zip区块链毕业设计 基于fabric的学位证书认证系统源码+项目资料齐全+部署文档(优秀项目).zip 【资源说明】 高分项目源码:此...
区块链毕业设计 基于Hyperledger Fabric的房地产交易系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip区块链毕业设计 基于Hyperledger Fabric的房地产交易系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip...
区块链毕业设计 基于fabric学生身份及学历管理平台的设计与实现+部署文档+项目资料齐全 优秀项目.zip区块链毕业设计 基于fabric学生身份及学历管理平台的设计与实现+部署文档+项目资料齐全 优秀项目.zip 【资源说明...