自动化结构目标
- 配置管理-->记录项目中的一切变化
- 构建管理-->加速构建速度,管理模块依赖
- 持续集成-->让软件随时可以运行
- 测试管理-->分级测试,建立快速反馈环
- 环境管理-->弹性灵活的基础设施
- 部署管理-->无差异的部署过程,减少上线风险
V0.2 版本请看==》开发中
开源地址
https://github.com/leoiceo/devops
架构说明
- Django + Mysql + redis + celery
- 本项目前端页面使用(inspina模版)
- 目前服务于线上千台服务器、统一管理
- 方便游戏快速接入、管理上线
- 主页
A. 系统管理(已完成)
- 用户管理
- 部门管理
- 项目管理
- 角色管理
- 每个角色允许绑定N个权限
- 权限管理(泛匹配)根据路由绑定用户权限
B. 主机管理- 项目全球化设计 (已完成)
- 列表管理
- 添加、批量添加、导入excel
- 地区管理
- 平台管理
- IDC管理
- 发行商管理
- 用途管理
- 运维仓库管理
- 域名信息管理
C. 常用作业工具 celery做任务调度(已完成)
- 批量执行命令
- 批量执行脚本
- 批量分发文件或目录
- IP归属地查询(有时也用的上)
D. 项目自动化流水线(已完成)
- 服务器初始化
- 数据库初始化
- 批量装服
- 线上服、正式服、测试服管理
- 批量更新,支持秒级回滚
- 程序更新迭代
- 数据库更新
- 配置更新
- 集中配置管理
- 负责管理业务配置模版,用于快速变更,也支持极端情况下业务恢复
- 运营需求管理 (若有独立数据平台,可开放区服列表信息接口)
- 在线人数曲线图
- 区服列表、入口管理
- 渠道配置管理
- 公告管理、GM后台
- 备份管理
- 生成定时任务,备份报表
- 自动化检查备份成功、失败数
- 失败重试,邮件通知负责人
- 提供备份下载供开发人员测试
E. 资产管理
使用ansible setup模块采集(已完成)
详细信息
手动添加,编辑、删除 变更记录
- 费用信息管理
F.计划任务(已完成)
- 定时任务
- 表达式和crontab一样方便维护,一看就明白
- 已执行次数
- 执行结果历史,有记录可查,谁创建和修改
- 选择定时执行的目标机器
G. 脚本管理
- 类型 "sh" or "py" or "bat"
- 来源,谁创建修改必须有记录
- 用途说明
- 所属业务,只允许业务下机器执行
- 脚本来源(在线脚本编辑和本地上传)一般两种方式,支持自定义参数
H. 站点管理
- 网站节点
- 自动化新建站点,绑定相关负责人
- 连接自动化测试和自动化构建,实现自动化部署的元数据
- 带自动化探测功能,实现web可用性能监控
- 配置管理
- 不同站点保存一份个性化配置由负责人编辑,更新自动更新到线上
- 网站更新
- 配置更新
- web更新
- 反向代理
I. 监控(进行中)
- 独立平台
F. 帮助文档管理
- 添加修改文档
- 用于保证操作文档或者需求文档
G. 日志审计
- 非堡垒机,由服务器通过api,自动汇报操作历史记录。
- 包含操作命令,登陆IP,登陆用户,登陆时间,请求页面,等敏感信息。
- 支持中断
H. WebShell
三、安全性 (已完成)
- 启用SSL双向认证
- 重写django认证
- session验证码
- 支持安全审计,操作历史查询
I. 工单系统
- 新建工单
- 我创建的
- 待办工单
- 历史工单