新增功能:

逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用。

并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新、部署、启动。

提高list规则文件DIY程度,减少新增服务带来的修改代码,实现扫描list自动化安装部署。(配置、与监控属于业务范围,还需手动修改。

完善回滚机制,可根据时间段进行回滚,实现即时回滚即时使用。

1  引言

自动化部署与统一安装升级,适用于多资源型分布/分离式部署项目。
   随着服务/业务的越来越多,配置文件更是眼花缭乱,每次不知道因为部署/安装问题浪费多少时间,更不知道因为配置问题出过多少问题。多台服务器来回切换,如果服务需要依赖,启动更是问题。
      怎么实现自动化安装升级,一键执行统一安装。

  适用于多资源型分布式部署项目,随着服务的越来越多,配置文件更是眼花缭乱,每次不知道因为部署问题浪费多少时间,更不知道因为配置问题出过多少问题。多台服务器来回切换,如果服务需要依赖,启动更是问题。

1.1 目的

统一安装、批量部署、统一监控。

1.2 范围

本项目使用范围包括:

-          基于多资源型开发项目

-          项目相关服务繁多

-      服务多依赖关系

1.3 读者

本需求规格说明书的阅读者或其他文档干系人有平台总监、产品经理、项目总监、项目经理、开发人员、测试人员、运维人员、用户体验设计人员等。

2  项目总体描述

2.1 系统总体功能框架

执行统一安装前,首先备份上一轮项目并提取涉及配置文件,再是检查SVN更新版本,确认无误后执行统一安装。

实现一键执行统一安装,执行完毕展示服务进程及相关版本。

2.2 系统功能列表

编号

模块

功能

说明

unifyDeploy_0.1

Exec

建立信任、初始命令

初始

unifyDeploy_0.2

Tools

服务介入List规则

扫描提供服务列表,获取配置信息

unifyDeploy_0.3

Conf

配置文件处理优化展示

自动生成

unifyDeploy_0.4

Bin

执行工具

提供总执行与单一执行

unifyDeploy_0.5

New

存放修改后配置文件

与bak保留文件成反比

unifyDeploy_0.6

Bak

存放原始配置文件

便于问题分析

unifyDeploy_0.7

Temp

存放临时文件

临时文件将及时删除无任何冗积

unifyDeploy_0.8

Workapp

存放安装包

上传安装包

unifyDeploy_0.9

Workbak

备份安装包

统一回滚

3  功能描述

3.1 获取配置文件

通过本系统统一安装部署非常简单,只需用户根据list模版提供服务列表,其他无需操作。服务列表如下:

名词解释:

server :服务名称  ip    :服务器ip指向  path :部署路径指向  config :配置项  cfpath:配置路径

执行脚本,“conf”目录自动生成用户所需修改配置文件,配置文件是通过处理筛选后生成,所以一个服务不管需要配置多少文件,这里只生成一个,方便修改与管理。配置文件沿用上一轮版本配置文件,在新一轮版本没有新增配置项情况,无需修改跳过此步。

3.2 自动化统一安装部署

自动化统一安装部署,包括:主机信任、SVN安装包下载、上传解压安装包、同步配置、上一轮安装备份、启动服务、监控服务等。

list.sh  init.sh  pass.war  startup.sh  syn.sh  exec.sh thread.py

       部署支持统一安装于分布式安装,每个脚本可以拆分开任意组合使用,比如:

1)         一套新环境中还未部署服务,只需调整上传安装包脚本顺序,先上传安装包后,后续操作正常执行。

2)         迭代更新,功能稍作修改,原配置项无需修改,也只需调整上传安装包包脚本顺序,先获取原有配置,再上传更新安装包包,后续操作正常执行。

3.3 与Ansible优缺点对比

优点:

1) 框架开源,业务脚本基于shell开发,不像Ansible封装的那么严重,只能按照他的格式去写

2)将一个服务下的多个配置文件处理成一个配置模板,与Ansible相比更加的方便修改与检查

3)支持更多的DIY功能,更好的实现监控进程、检查版本等

4)可根据时间段进行回滚,实现即时回滚即时使用

5)不仅适用于更新部署同样适用于第一次部署

  缺点:

1)Ansible商业化要久,更多人在用

自动化部署与统一安装升级 - 类ansible工具 unifyDeploy0.3版本发布 (更新时间2014-12-24

udeploy 1.0

下载

比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布的更多相关文章

  1. 轻量级自动化运维工具Fabric的安装与实践

    一.背景环境 在运维工作中,经常会遇到重复性的劳动,这个时候为了效率就必须要使用自动化运维工具. 这里我给大家介绍轻量级自动化运维工具Fabric,Fabric是基于Python语言开发的,是开发同事 ...

  2. Python自动化运维工具fabric的安装

    使用shell命令进行复杂的运维时,代码往往变得复杂难懂,而使用python脚本语言来编写运维程序,就相当于开发普通的应用一样,所以维护和扩展都比较简单,更重要的是python运维工具fabric能自 ...

  3. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

  4. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  5. 自动化运维工具——ansible详解(一)

    ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统 ...

  6. 企业级自动化运维工具应用实战-ansible

    背景 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运 ...

  7. 项目实战10.1—企业级自动化运维工具应用实战-ansible

    实战环境: 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测 ...

  8. CentOS7Linux中自动化运维工具Ansible的安装,以及通过模块批量管理多台主机

    使用自动化运维工具Ansible集中化管理服务器 Ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet ...

  9. 自动化运维工具Ansible介绍

    一个由 Python 编写的强大的配置管理解决方案.尽管市面上已经有很多可供选择的配置管理解决方案,但他们各有优劣,而 ansible 的特点就在于它的简洁. 让 ansible 在主流的配置管理系统 ...

  10. 自动化运维工具Ansible的部署步骤详解

    本文来源于http://sofar.blog.51cto.com/353572/1579894,主要是看到这样一篇好文章,想留下来供各位同僚一起分享. 一.基础介绍 ================= ...

随机推荐

  1. C#线程同步手动重置事件——ManualResetEvent

    和AutoResetEvent类的区别是,Manual一旦set后不会自动reset,会放行所有waitone的线程,而autoresetevent每一次set之后只会放行一个waitone的线程,然 ...

  2. T-SQL:毕业生出门需知系列(目录)

    一.前言: 作为一个应届毕业生又要准备面试 ASP.NET 攻城狮了,以前在图书馆觉得这本书讲得挺基础,这次回家就自己买了本用来复习,顺便做下读书笔记. 第4版 二.代码下载: 官方:http://f ...

  3. Android 数据库框架OrmLite的使用(二)

    前面说了OrmLite的基本使用,现在说下更规范的做法以及常用的一些功能. 1.DatabaseHelper package com.example.ormlite.db; import java.s ...

  4. 清除inline-block元素之间的空白

    一个元素如果被设置为display:inline-block,那么这个元素将表现为行内块的性质.被设为行内块的元素 对内(子元素)表现为块级框,具体为可以设置高度宽度,可以设置垂直margin和pad ...

  5. html标签属性(attribute)和dom元素的属性(property)

    简介 attribute和property都有属性之意,但对于attribute和property的区分其实并不难.从对象来说,attribute是html文档上标签属性, 而property则是对应 ...

  6. iOS_UIImage_毛玻璃效果

    效果图: 核心方法: // 出入UIImage 和 blur模糊成度 (0-1) - (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CG ...

  7. C语言实现控制台中光标随意移动

    开始准备学习下C,新手哦~~ 今天弄了个控制台程序,光标可以随意在DOS下移动~~ 先放一张效果图,不过很丑,大家能不能看懂,哈哈,就是 I Love You. 代码注释都有,其实好多东西我都是从其他 ...

  8. SFC中的故障管理

    1.SFC中包的格式 网络服务包头,当Obit被设置为1时,表示一个SFC OAM消息 OAM Type:SFC OAM的类型(1.连接认证,2.持续性检验,3.路由跟踪,4.性能度量) SFC OA ...

  9. jquery的事件命名空间详解

    jquery现在的事件API:on,off,trigger支持带命名空间的事件,当事件有了命名空间,就可以有效地管理同一事件的不同监听器,在定义组件的时候,能够避免同一元素应用到不同组件时,同一事件类 ...

  10. Jquery.Qrcode在客户端动态生成二维码并添加自定义Logo

    0 Jquery.Qrcode简介 Jquery.Qrcode.js是一个在浏览器端基于Jquery动态生成二维码的插件,支持Canvas和Table两种渲染方式,它的优点是在客户端动态生成,减轻了服 ...