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

通过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模版提供服务列表,其他无需操作。服务列表如下:

名词解释:

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

自动化集成优势:

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

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

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

1.         安装:yum install tftp-server –y   2.         配置tftp文件开启tftp功能   3.         开启依赖服务xinetd   4.         安装syslinux   5.         将pxelinux.0文件放在tftpboot目录下   6.         并且复制光盘中如下的文件(内核文件等)   7.         编辑启动管理的配置文件  

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

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

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

1.         客户端从网络启动如下   2.         复制vesamenu.c32文件可解决上面的问题   3.         客户端再次启动   4.         选择第一个进行全自动安装(以下为途中的随机截图)   5.         完成后自动启动如下   6.         登陆账户并且查看脚本里创建的repo文件(test账户未创建,可能是之前没有useradd程序)   7.         启动到桌面

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

1.         安装   2.         在桌面环境下啊配置   3.         Kickstart之基本配置   4.         Kickstart之安装方法   5.         Kickstart之启动引导选项   6.         Kickstart之磁盘分区相关信息   7.         Kickstart之网络配置   8.         Kickstart之认证相关设置   9.         Kickstart之防火墙及安全级别配置   1

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

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

使用Helm 在容器服务k8s集群一键部署wordpress

摘要: Helm 是啥? 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get / yum,由Deis 公司发起,该公司已经被微软收购. Helm 是啥? 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes

ceph(1)--安装和部署

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenStack 集成的实现 (6)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (7)Ceph 的基本操作和常见故障排除方法 (8)关于Ceph PGs 1. 测试环境 为了深入学习 Ceph 以及 Ceph 和 OpenStack 的集成,搭建了如下的测试环境:

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

新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的都是tomcat的war包等... 新增“list”快捷键,快速操作list规则文件. 简化代码冗余,合拼原有exec工具类到tools. 修复上一轮版本配置文件乱码问题. 新增部署成功后系统版本监控功能. 2015-01-28 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发

Linux:多Tomcat服务, 统一安装部署 unifyDeploy0.2版本发布

下载地址:  unifyDeploy0.1版本  unifyDeploy0.2版本 1       引言 基于JAVA开发项目,随着服务的越来越多,配置文件更是眼花缭乱,每次不知道因为配置问题浪费多少时间,更不知道因为配置问题出过多少问题.多台服务器来回切换,如果服务需要依赖,启动更是问题. 1.1 目的 一次修改,统一安装:操作简单,实用高效. 1.2 范围 本项目使用范围包括: 基于JAVA开发项目 项目相关服务繁多 服务启动有依赖关系 1.3 读者 本需求规格说明书的阅读者或其他文档干系人