Fabric应用案例

下面介绍三个比较典型的应用Fabric的示例,涉及文件上传与校验,环境部署,代码发布功能

示例1:文件打包,上传与校验

我们时常做一些文件包分发的工作,实施步骤一般是先压缩打包,在批量上传至目标服务器,最后做一致性校验,本案例通过put()方法实现文件的上传,通过对比本地与远程主机文件的md5,最终实现文件一致性校验。

#!/usr/bin/env python
from fabric.api import *
from fabric.context_managers import *
from fabric.contrib.console import confirm
env.user = ‘root‘
env.hosts = [‘192.168.1.23‘,‘192.168.1.24‘]
env.password = ‘123456‘

@runs_once
def tar_task(): #本地打包任务函数,只限执行一次
	with lcd(‘/‘):
		local("tar zcvf auto.tar.gz auto")

def put_task():
	run(‘mkdir /data‘) #上传任务函数
	with cd("/data"):
		with settings(warn_only=True):
			result = put("/auto.tar.gz","/data") #put上传出现异常时继续执行,非中止
		if result.failed and not confirm("put file failed, Continue[Y/N]?"):
			abort(‘Aboring file put task!‘) #出现异常时,确认用户是否继续

def check_task():
	with settings(warn_only=True):
		lmd5 = local("md5sum /auto.tar.gz",capture=True).split(‘ ‘)[0]
		rmd5 = run("md5sum /data/auto.tar.gz").split(‘ ‘)[0]
		if lmd5 == rmd5: #对比本地及远程文件MD5信息
			print "ok"
		else:
			print ERROR
def go():
    tar_task()
    put_task()
    check_task()			
时间: 2024-11-05 05:01:04

Fabric应用案例的相关文章

fabric简单案例

1  执行一个简单的task任务,显示两台机器的/home/guol/目录下的文件 from fabric.api import * env.users='root' env.port=22 env.hosts=['10.1.6.186','10.1.6.159'] #env.hosts=open('/opt/hosts').readlines() env.password='xxxxxx' def task1(): with cd('/home/guol'): run('ls -l') 2.不

NX-OS Upgrade及N6K-N3K vPC概述

概述:     第一章: 介绍了Nexus 3048的NX-OS升级方法. 介绍了Nexus 3048的License导入方法.     第二章: 介绍了采用vPC技术所带来的好处. 介绍了vPC的术语及2种部署拓扑类型. 介绍了vPC的配置. 1.Software Upgrade 1.1 NX-OS Upgrade 概述 与普通IOS设备不同,NX OS升级时,共有2个文件需要升级.安装,如果只安装其中一个,可能会导致设备重启后无法进入系统.这2个文件包括: NX-OS System Soft

揭秘LOL背后的IT基础架构丨踏上部署多样性的征程

本期开始,我们将陆续分享Tungsten Fabric用户案例文章,一起发现TF的更多应用场景."揭秘LOL"系列的主人公是TF用户Riot Games游戏公司,作为LOL<英雄联盟>的开发和运营商,Riot Games面临全球范围复杂部署的挑战,让我们一起揭秘LOL背后的"英雄们",看他们是如何运行在线服务的吧.作者:Jonathan McCaffrey(文章来源:Riot Games) 我叫Jonathan McCaffrey,在Riot的基础架构团

揭秘LOL背后的IT基础设施丨关键角色“调度”

欢迎来到Tungsten Fabric用户案例系列文章,一起发现TF的更多应用场景."揭秘LOL"系列的主人公是Tungsten Fabric用户Riot Games游戏公司,作为LOL<英雄联盟>的开发和运营商,Riot Games面临全球范围复杂部署的挑战,让我们一起揭秘LOL背后的"英雄们",看他们是如何运行在线服务的吧.作者:Kyle Allan和Carl Quinn(文章来源:Riot Games) 我们是Kyle Allan和Carl Qui

揭秘LOL背后的IT基础架构丨SDN解锁新基础架构

欢迎来到Tungsten Fabric用户案例系列文章,一起发现TF的更多应用场景."揭秘LOL"系列的主人公是Tungsten Fabric用户Riot Games游戏公司,作为LOL<英雄联盟>的开发和运营商,Riot Games面临全球范围复杂部署的挑战,让我们一起揭秘LOL背后的"英雄们",看他们是如何运行在线服务的吧.作者:Doug Lardo和David Press(文章来源:Riot Games) 本文作者David Press和Doug

揭秘LOL背后的IT基础架构丨产品而非服务

欢迎来到Tungsten Fabric用户案例系列文章,一起发现TF的更多应用场景."揭秘LOL"系列的主人公是Tungsten Fabric用户Riot Games游戏公司,作为LOL<英雄联盟>的开发和运营商,Riot Games面临全球范围复杂部署的挑战,让我们一起揭秘LOL背后的"英雄们",看他们是如何运行在线服务的吧.作者:Nicolas Tittley和Ala Shiban(文章来源:Riot Games)译者:TF编译组 这个长系列的文章,

Hyperledger Fabric(四)first-network案例中的主要配置文件及主要脚本

主要配置文件: 1.crypto-config.yaml Cryptogen工具使用该文件生成“密码材料”,即Fabric网络中各种实体(peer.order.ca)所需的证书及密钥.crypto-config.yaml包含网络拓扑结构定义,Cryptogen以其为基础为组织(包括order)和属于这些组织的组件(peer和ca)生成证书及密钥.该配置文件中的“count”变量用来指定每个组织的对等点数量,文件的其余部分较容易理解. cryptogen generate --config=./c

开发者为何对Service Fabric爱不释手?值得关注!

有了它,人人都可开发高可用高伸缩应用.今天小编就为大家介绍一款开发者的"利器"--Service Fabric . 在介绍它之前,先来了解一下它的背景. Service Fabric 是一款应用程序平台,可用于构建基于微服务的应用程序.其核心部分是一个分布式系统平台,用于构建可扩展的可靠应用.在便于封装可部署代码的同时,还内置了微服务最佳实践案例. 快速上市:通过 Service Fabric,开发人员可将重点放在创建可为应用程序增加商业价值的功能上,从而避免了为在基础结构中处理可靠性

主流区块链技术特点及Fabric V0.6&V1.0版本特点

声明:文章内容来源于网络. 一.主流区块链技术特点 二.Hyperledger的fabric V0.6总体架构: 对应的0.6版本的运行时架构: 0.6版本的架构特点是: 结构简单: 应用-成员管理-Peer的三角形关系,主要业务功能全部集中于Peer节点:    架构问题:由于peer节点承担了太多的功能,所以带来扩展性.可维护性.安全性.业务隔离等方面的诸多问题,所以0.6版本在推出后,并没有大规模被行业使用,只是在一些零星的案例中进行业务验证: 三.Hyperledger的fabric V