自动化集成部署udeployer 批量统一安装一键部署

时间:2021-12-27 14:19:37
通过jenkins构建项目;version版本控制;udployer自动化集成;ucop业务巡检做到高效高可用的自动化体系。
 
1.0版本:

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

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

提高list规则文件DIY程度,减少新增服务带来的修改代码,实现扫描config自动化集成部署。

2.0版本:

版本控制 ,关联Jenkins实现自动化提交版本转测试

备份与回滚,可根据时间段进行回滚,实现即时回滚即时使用。

SQL脚本更新,实现通用脚本与增量脚本执行。

3.0版本:

MP多站点自动化集成

引言

自动化集成与统一安装升级,适用于多资源型分布/分离式部署项目。
    公司项目较多,部署需要花费大量的人力和时间,且人工部署过程中可能会出现很多人为造成的错误,通过自动化集成,可以实现用较少的人力在不同项目和多台服务器上进行自动部署,减少了人为造成的问题,节约了部署时间。在自动化集成后期,会将自动化测试纳入整个体系中,达到从部署到测试的目标。

     

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业务巡检做到高效高可用的自动化体系。

自动化集成优势:

    1. 无需繁琐的人员操作,仅仅需要替换配置文件,即可实现一键自动化集成
    2. 多线程操作,同时集成或更新多台服务器
    3. 减少开发与测试在人工操作上的失误,如:打包,部署环境及启动
    4. 与自动化测试结合,实现从部署到测试都通过自动化完成