逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一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模版提供服务列表,其他无需操作。服务列表如下:
名词解释:
1 # -*- coding: utf-8 -*- 2 3 [HTTPSERVER] 4 # war包名字 svn地址 部署的IP地址 tomcat目录 测试版本 5 SERVER = prior 抢先版 192.168.20.19 /home/prior/prior 1.3.2.1
执行脚本,config目录自动生成用户所需修改配置文件,配置文件是通过处理筛选后生成,所以一个服务不管需要配置多少文件,这里只生成一个,方便修改与管理。配置文件沿用上一轮版本配置文件,在新一轮版本没有新增配置项情况,无需修改跳过此步。
3.2 自动化体系
通过jenkins构建项目;version版本控制;udployer自动化集成;ucop业务巡检做到高效高可用的自动化体系。
自动化集成优势:
- 无需繁琐的人员操作,仅仅需要替换配置文件,即可实现一键自动化集成
- 多线程操作,同时集成或更新多台服务器
- 减少开发与测试在人工操作上的失误,如:打包,部署环境及启动
- 与自动化测试结合,实现从部署到测试都通过自动化完成