谨以此文纪念吊炸天的Centos环境一键部署方案的新鲜出炉
辛苦大半年,产品准备上线了,BOSS亲自体验安装部署,看着超过200+页的安装文档直接崩溃了(需要部署23个基础服务),经历了超过3个小时的安装包下载过程,责令整合、优化安装部署过程,简化安装流程,BOSS原话“你们是想玩s现场的运维兄弟吗?统统去出差…”小弟不才,有幸领到这一艰巨的任务,开始了一键部署的艰苦旅程…
一键部署的目的
1、简化产品的安装
能够自动部署相关服务(支持卸载、重复安装)
提供自动修改配置文件的能力,不需要手工修改配置文件(现场的运维都是大神,我遇到过修改配置文件将服务搞坏的情况)
2、 服务运维
能够进行服务运行状态监控
提供服务启动、停止、查看日志的能力
方案
采用shell脚本完成
具体的流程
1、系统设置,关闭防火墙、设置主机名之类的
2、提取公共的部分,例如JDK、多台服务器之间的ssh访问
3、服务的安装,包括解压、修改配置文件、添加开机自启、服务启动
4、服务的卸载(文件目录、数据文件、启动项)、重复安装
5、状态监控
Shell脚本
关闭防火墙
修改主机名
安装JDK
安装服务,以ActiveMQ为例
卸载服务,仍然以ActiveMQ为例
至此安装、部署大体完毕
使用shell脚本进行控制即可
服务状态监控比较有意思,写了个grace脚本,用法如下:
grace 接收两个参数:
第一个参数:接收服务名称,例如 mq
第二个参数:接收操作内容,包括status、stop、start
ActiveMQ脚本
至此,完成全部功能的,输出shell脚本超过30个,经过2周的编写、调试,圆满完成BOSS交代的任务
安装部署的流程简化:
上传安装包->启动安装脚本->等待安装完成(可以进行喝茶、抽烟之类的活动)->检查安装服务状态->成功->安装结束
安装耗时大概20分钟,之前手工部署需要1天时间,极大的缩短了安装部署的时间、难度、成本,规范了公司安装部署的流程,经BOSS推广,在整个研发中心,各产品线之间进行推广
解决了centos环境的安装部署,稍后还有windows环境的安装部署,呵呵