自动化集成部署udeployer 批量统一安装一键部署
逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由python框架统一调用。
并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新、部署、启动。
提高list规则文件DIY程度,减少新增服务带来的修改代码,实现扫描config自动化集成部署。
2.0版本:
版本控制 ,关联Jenkins实现自动化提交版本转测试
备份与回滚,可根据时间段进行回滚,实现即时回滚即时使用。
SQL脚本更新,实现通用脚本与增量脚本执行。
3.0版本:
MP多站点自动化集成
1 引言
自动化集成与统一安装升级,适用于多资源型分布/分离式部署项目。
公司项目较多,部署需要花费大量的人力和时间,且人工部署过程中可能会出现很多人为造成的错误,通过自动化集成,可以实现用较少的人力在不同项目和多台服务器上进行自动部署,减少了人为造成的问题,节约了部署时间。在自动化集成后期,会将自动化测试纳入整个体系中,达到从部署到测试的目标。
1.1 目的
实现持续集成打包,自动化集成和更新服务,实时监控服务器状态和自动化测试
1.2 范围
本项目使用范围包括:
- 基于多资源型开发项目
- 项目相关服务繁多
- 服务多依赖关系
1.3 读者
本需求规格说明书的阅读者或其他文档干系人有平台总监、产品经理、项目总监、项目经理、开发人员、测试人员、运维人员、用户体验设计人员等。
2 项目总体描述
2.1 系统总体功能框架
执行统一安装前,首先备份上一轮项目并提取涉及配置文件,再是检查SVN更新版本,确认无误后执行统一安装。
实现一键执行统一安装,执行完毕展示服务进程及相关版本。
2.2 系统功能列表
|
编号 |
模块 |
功能 |
说明 |
|
udeployer _T001 |
Autotest |
公共组件平台 |
作为自动化集成及测试的工作组件 |
|
udeployer _T002 |
Bin |
执行自动化集成主控目录 |
执行自动化集成主控程序,支持多线程执行 |
|
udeployer _T003 |
bak |
用于存放各个程序需要替换的配置文件的目录 |
|
|
udeployer _T004 |
Common |
存放执行组件(kill进程,启动进程等) |
存放各个独立执行组件 |
|
udeployer _T005 |
Config |
服务配置文件,主控程序通过解析此文件读取配置 |
配置文件为.ini格式 |
|
udeployer _T006 |
FileStore |
用于存放下载war包的目录 |
|
|
udeployer _T007 |
PID |
保存获取的进程PID输出的文件 |
|
|
udeployer _T008 |
Logs |
对所有操作输入统一日志输出和日志格式,输入友好提示 |
|
|
udeployer _T009 |
实现完整的监控服务和健壮的自动化集成 |
3 功能描述
3.1 获取配置文件
通过本系统统一安装部署非常简单,只需用户根据list模版提供服务列表,其他无需操作。服务列表如下:
名词解释:
# -*- coding: utf-8 -*- [HTTPSERVER]
# war包名字 svn地址 部署的IP地址 tomcat目录 测试版本
SERVER = prior 抢先版 192.168.20.19 /home/prior/prior 1.3.2.1
执行脚本,config目录自动生成用户所需修改配置文件,配置文件是通过处理筛选后生成,所以一个服务不管需要配置多少文件,这里只生成一个,方便修改与管理。配置文件沿用上一轮版本配置文件,在新一轮版本没有新增配置项情况,无需修改跳过此步。
3.2 自动化体系
通过jenkins构建项目;version版本控制;udployer自动化集成;ucop业务巡检做到高效高可用的自动化体系。
自动化集成优势:
- 无需繁琐的人员操作,仅仅需要替换配置文件,即可实现一键自动化集成
- 多线程操作,同时集成或更新多台服务器
- 减少开发与测试在人工操作上的失误,如:打包,部署环境及启动
- 与自动化测试结合,实现从部署到测试都通过自动化完成
自动化集成部署udeployer 批量统一安装一键部署的更多相关文章
- Linux部署之批量自动安装系统之测试篇
1. 客户端从网络启动如下 2. 复制vesamenu.c32文件可解决上面的问题 3. 客户端再次启动 4. 选择第一个进 ...
- Linux部署之批量自动安装系统之Kickstart篇
1. 安装 2. 在桌面环境下啊配置 3. Kickstart之基本配置 4. Kickstart之安装方法 5. ...
- Linux部署之批量自动安装系统之TFTP篇
1. 安装:yum install tftp-server –y 2. 配置tftp文件开启tftp功能 3. 开启依赖服务xinetd 4 ...
- Linux部署之批量自动安装系统之DHCP篇
1. 安装:yum install dhcp 2. Ip配置信息 3. Dhcp配置文件如下 4. 配置完后检查语法是否错误 ...
- Linux部署之批量自动安装系统之NFS篇
1. 编辑配置文件让远端设备可访问vim /etc/exports 2. 启动服务
- openvpn部署之快速入门实战+一键部署openvpn脚本
个人原创禁止转载 软件环境: Centos6.9 x64 openvpn-2.4.3-1.el6.x86_64.rpm easy-rsa-2.2.2-1.el6.noarch.rpm #推荐使用 ...
- 下载达 10 万次的 IDEA 插件,K8s 一键部署了解一下?
作者 | 铃儿响叮当 导读:涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,本文将给大家讲解:对于容器服务 ACK,怎么实现真正"一键部署",提高开发部署效率,在 K ...
- Hexo一键部署到阿里云OSS并设置浏览器缓存
自建博客地址:https://bytelife.net,欢迎访问! 本文为博客自动同步文章,为了更好的阅读体验,建议您移步至我的博客 本文作者: Jeffrey 本文链接: https://bytel ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0
新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...
随机推荐
- web前端的春天 or 噩梦
「 微信应用号可以做什么」 简单说,微信"小程序"可以为开发者提供基于微信的表单.导航.地图.媒体和位置等开发组件,让他们在微信的网页里构建一个 HTML 5 应用.同时微信还开放 ...
- CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能
CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能 效果图 这是红宝书里的例子,在这个例子中,下述功能全部登场,因此这个例子可作为使用Compute Shader的典型 ...
- SQL Server页类型汇总+疑问
该文章整理自:http://www.sqlnotes.info/2011/10/31/page-type/ SQL Server中包含多种不同类型的页,来满足数据存储的需求.不管是什么类型的页,它们的 ...
- ABP源码分析二十七:ABP.Entity Framework
IRepository:接口定义了Repository常见的方法 AbpRepositoryBase:实现了IRepository接口的常见方法 EfRepositoryBase:实现了AbpRepo ...
- springmvc的图片上传与导出显示
1.前端文件上传需要在form表单内添加enctype="multipart/form-data" ,以二进制传递: 2.web.xml文件内配置 <servlet-mapp ...
- JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)
1.3种原始表达式 1.直接量: 1.23 //数字直接量 “hello” //字符串直接量 ...
- Ubuntu 下安装QT
Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...
- ubuntu 14.04LTS 环境下搭建tftp服务器
花费我一整天的时间在 ubuntu 14.04LTS 环境下搭建tftp服务器,网上好多资料参差不齐,简单来说,TFTP(Trivial File Transfer Protocol),是一个基于UD ...
- 父页面操作iframe子页面的安全漏洞及跨域限制问题
一.父子交互的跨域限制 同域情况下,父页面和子页面可以通过iframe.contentDocument或者parent.document来交互(彼此做DOM操作等,如父页面往子页面注入css). 跨域 ...
- ASP.NET Core 中文文档 第三章 原理(3)静态文件处理
原文:Working with Static Files 作者:Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:谢炀(kiler398).许登洋(Seay).孟帅洋(书缘) 静态文 ...