通过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. 与自动化测试结合,实现从部署到测试都通过自动化完成

自动化集成部署udeployer 批量统一安装一键部署的更多相关文章

  1. Linux部署之批量自动安装系统之测试篇

    1.         客户端从网络启动如下   2.         复制vesamenu.c32文件可解决上面的问题   3.         客户端再次启动   4.         选择第一个进 ...

  2. Linux部署之批量自动安装系统之Kickstart篇

    1.         安装   2.         在桌面环境下啊配置   3.         Kickstart之基本配置   4.         Kickstart之安装方法   5.    ...

  3. Linux部署之批量自动安装系统之TFTP篇

    1.         安装:yum install tftp-server –y   2.         配置tftp文件开启tftp功能   3.         开启依赖服务xinetd   4 ...

  4. Linux部署之批量自动安装系统之DHCP篇

    1.         安装:yum install dhcp   2.         Ip配置信息   3.         Dhcp配置文件如下   4.         配置完后检查语法是否错误 ...

  5. Linux部署之批量自动安装系统之NFS篇

    1.         编辑配置文件让远端设备可访问vim /etc/exports   2.         启动服务

  6. openvpn部署之快速入门实战+一键部署openvpn脚本

    个人原创禁止转载 软件环境: Centos6.9 x64 openvpn-2.4.3-1.el6.x86_64.rpm easy-rsa-2.2.2-1.el6.noarch.rpm    #推荐使用 ...

  7. 下载达 10 万次的 IDEA 插件,K8s 一键部署了解一下?

    作者 | 铃儿响叮当 导读:涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,本文将给大家讲解:对于容器服务 ACK,怎么实现真正"一键部署",提高开发部署效率,在 K ...

  8. Hexo一键部署到阿里云OSS并设置浏览器缓存

    自建博客地址:https://bytelife.net,欢迎访问! 本文为博客自动同步文章,为了更好的阅读体验,建议您移步至我的博客 本文作者: Jeffrey 本文链接: https://bytel ...

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

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

随机推荐

  1. Enterprise Integration Pattern - 组成简介

    近些年来,越来越多的Web应用正在逐渐向大型化的方向发展.它们通常都会包含一系列相互协作的子服务.在开发过程中,如何让这些子服务协同工作常常是软件开发人员所最为头疼的问题,如各个子服务之间的数据表示不 ...

  2. CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator

    CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator 我还没有用过Compute Shader,所以现在把红宝书里的例子拿来了,加入CSharpGL中. ...

  3. Html5 希尔排序演示

    希尔排序(Shell Sort)是插入排序的一种.也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本. 如下图所示: 代码如下: <!DOCTYPE html> <html& ...

  4. Atitit. 提升存储过程与编程语言的可读性解决方案v3 qc25.docx

    Atitit. 提升存储过程与编程语言的可读性解决方案v3 qc25.docx 1. 大原则:分解+命名1 1.1. 命名规范1 1.2. 分层.DI和AOP是继OO1 1.3. 运算符可读性一般要比 ...

  5. div里嵌套了img 底部会出现白边

    因为img默认是按基线(baseline)对齐的.对比一下图片和右边的p, q, y等字母,你会发现这三个字母的“小尾巴”和图片下方的空白一样高.下面这张图中的黑线就是那条基线. 要去掉空格可以使用v ...

  6. 前端开发工具vue.js开发实践总结

    最近有很长时间没有更新博客了,换了公司,全部的心思都放在项目上了.通过这次项目的上线,让我感受最深的是前后端分离后,前端页面的模块化管理,以及前端页面的数据邦定.在接触vue.js之前,我之前端要用到 ...

  7. 学习总结 之 WebApi服务监控 log4net记录监控日志

    在请求WebApi 的时候,我们更想知道在请求数据的时候,调用了哪个接口传了什么参数过来,调用这个Action花了多少时间,有没有人恶意请求.我们可以通过记录日志,对Action进行优化,可以通过日志 ...

  8. Hibernate(3)——实例总结Hibernate对象的状态和ThreadLoacl封闭的session

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: Hibernate的内部执行过程(CRUD) 对象的状态及其转换图和例子 使用JUnit测试 使用getCur ...

  9. 使用代码向一个普通的类注入Spring的实例

    转载请在页首注明作者与原文地址 一:应用场景 什么是普通的类,就是没有@Controller,@Service,@Repository,@Component等注解修饰的类,同时xml文件中,也没有相应 ...

  10. Moon.Orm 入门总指南

    注意:下面的pdf文件强烈建议下载或在线查看 1)旗舰版帮助文档点击查看或下载 2)http://pan.baidu.com/s/1hq7krFu(新手手册下载)(强烈推荐) 3)性能及规范下载,网友 ...