软件应用(项目型)一般流程是由开发人员进行编码开发,调试,提交测试,由测试人员测试,然后应用包发布,最后由项目实施人员进行项目应用部署。具体工作及流程见下图:
![开发到部署流程](https://gitee.com/mianshenglee/datastorage/raw/master/md-photo/deploy-tool/%E9%83%A8%E7%BD%B2%E6%B5%81%E7%A8%8B.jpg)
如上图可见,从程序包分发出去开始,即由项目实施人员对程序包进行安装、部署。其中部署环境包括apache/nginx/tomcat/jdk/mysql/https/mq/solr等等。产品的正常运行,还依赖各种配置文件的正确设置(如xml文件/properties文件/其它文件/db/等,需配置相应的ip/端口/名称/地址等),一旦有地方配置有误,运行报错,实施人员则需要反复检查相应的配置文件/环境配置是否正确。若无法检查出问题,则还会需要找相应的开发人员寻找原因。这个过程对于实施人员是反复且痛苦的。
以上流程,若是通过手工执行,痛点有以下几点:
- 产品分发管理不规范:给了多少项目组使用,各项目使用的是什么版本
- 部署包传送麻烦:QQ/FTP
- 部署过程复杂
- 配置文件繁琐
- 配置容易出错
- 出错难定位问题
- 实施人员-开发人员耦合度高
- 关于部署工具
- 1. 使用场景
- 1.1 传统部署方式痛点
- 1.2 自动部署方式
- 2. 功能概览
- 2.1 部署工具面向的人员
- 2.2 部署工具功能
- 3. 部署工具运行流程
- 3.1 部署工具从制作到使用
- 3.2 部署工具目录结构
- 3.3 运行流程
- 3.4 配置文件概述
- 3.4.1 全局属性配置文件global_config
- 3.4.2 用户属性配置文件custom_config
- 3.4.3 其它属性配置文件
- 3.4.4 流程配置文件
- 3.4.5 占位符
- 4. 部署工具使用详解
- 4.1 流程配置文件简单示例
- 4.2 流程配置文件结构
- 4.2.1 首行及根元素
- 4.2.2 xml文件结构
- 4.2.3 properties/property元素
- 4.2.4 executions/group元素
- 4.2.5 execution元素
- 4.2.6 configuration元素
- 4.2.7 dependencies元素
- 4.2.8 sub-execution元素
- 4.2.9 commands元素
- 4.2.10 replace-files元素
- 4.2.11 datasourse/statements元素
- 4.2.12 args元素
- 4.3 流程配置文件功能示例
- 4.3.1 分析安装及卸载mariadb需要的模块
- 4.3.2 确定用户统一配置
- 4.3.3 编写流程配置文件
- 4.4 部署脚本编写
- 5. 完整db(mariadb及redis)部署示例
- 5.1 mariadb及redis部署结构分析
- 5.1.1 模块划分
- 5.1.2 部署环境包制作
- 5.1.3 项目实施人员使用流程
- 5.2 db部署包示例及脚本
- 5.3 部署环境升级
- 6. 问题与反馈