谨以此文纪念吊炸天的Centos环境一键部署方案的新鲜出炉

  辛苦大半年,产品准备上线了,BOSS亲自体验安装部署,看着超过200+页的安装文档直接崩溃了(需要部署23个基础服务),经历了超过3个小时的安装包下载过程,责令整合、优化安装部署过程,简化安装流程,BOSS原话“你们是想玩s现场的运维兄弟吗?统统去出差…”小弟不才,有幸领到这一艰巨的任务,开始了一键部署的艰苦旅程…

一键部署的目的

1、简化产品的安装

能够自动部署相关服务(支持卸载、重复安装)

提供自动修改配置文件的能力,不需要手工修改配置文件(现场的运维都是大神,我遇到过修改配置文件将服务搞坏的情况)

2、 服务运维

能够进行服务运行状态监控

提供服务启动、停止、查看日志的能力

方案

采用shell脚本完成

具体的流程

1、系统设置,关闭防火墙、设置主机名之类的

2、提取公共的部分,例如JDK、多台服务器之间的ssh访问

3、服务的安装,包括解压、修改配置文件、添加开机自启、服务启动

4、服务的卸载(文件目录、数据文件、启动项)、重复安装

5、状态监控

Shell脚本

关闭防火墙

Centos 环境一键部署脚本(shell脚本)

 

修改主机名

Centos 环境一键部署脚本(shell脚本)

 

安装JDK 

Centos 环境一键部署脚本(shell脚本)

 

安装服务,以ActiveMQ为例

Centos 环境一键部署脚本(shell脚本)

 

卸载服务,仍然以ActiveMQ为例 

Centos 环境一键部署脚本(shell脚本)

 

至此安装、部署大体完毕

使用shell脚本进行控制即可 

Centos 环境一键部署脚本(shell脚本)

 

服务状态监控比较有意思,写了个grace脚本,用法如下: 

Centos 环境一键部署脚本(shell脚本)

 

grace 接收两个参数:

第一个参数:接收服务名称,例如 mq

第二个参数:接收操作内容,包括status、stop、start 

Centos 环境一键部署脚本(shell脚本)

 

ActiveMQ脚本 

Centos 环境一键部署脚本(shell脚本)

 

至此,完成全部功能的,输出shell脚本超过30个,经过2周的编写、调试,圆满完成BOSS交代的任务

安装部署的流程简化:

上传安装包->启动安装脚本->等待安装完成(可以进行喝茶、抽烟之类的活动)->检查安装服务状态->成功->安装结束

安装耗时大概20分钟,之前手工部署需要1天时间,极大的缩短了安装部署的时间、难度、成本,规范了公司安装部署的流程,经BOSS推广,在整个研发中心,各产品线之间进行推广

解决了centos环境的安装部署,稍后还有windows环境的安装部署,呵呵

 

相关文章: