BQConf-京东持续集成的质量之道
### 京东持续集成的质量之道 #### 一、京东软件质量控制方案 京东为了确保软件产品的高质量,构建了一整套从代码编写到应用上线再到运维管理的全流程质量控制系统。这套系统覆盖了从最初的代码管理,到持续集成、应用检查分析、上线流程管理,以及上线后的运维自动化工具(如监控、日志等)的各个环节。通过这种方式,不仅提高了研发人员的工作效率,还显著提升了应用的质量。 #### 二、站在“巨人”的肩膀上 京东在构建自己的质量控制体系时,并非从零开始,而是借鉴并改进了业界已有的最佳实践和技术。通过学习其他成功企业的经验和教训,京东能够快速地建立起一套高效的质量控制体系,避免了许多常见的错误和陷阱。 #### 三、测试体系的价值 京东非常重视测试在整个软件开发过程中的作用,认为测试不仅仅是发现缺陷,更重要的是帮助团队在有限的时间内产出更高质量的产品。为此,京东制定了一系列的测试环节标准,包括版本提测约定、测试环境维护、测试包与上线包的一致性等方面,以确保测试的有效性和准确性。 #### 四、京东的质量生态 京东的质量生态系统涵盖了软件开发的各个方面,从代码编写到最终的运维支持都有相应的工具和技术支撑。具体来说: - **代码管理**:采用先进的代码管理工具来保证代码的质量和可维护性。 - **代码自动生成**:利用模板和工具来自动生成部分代码,提高开发效率。 - **代码审查**:通过人工和自动化的方式进行代码审查,确保代码符合规范。 - **持续集成**:实施持续集成策略,确保代码可以随时被集成到主分支中。 - **自动化测试**:建立了全面的自动化测试体系,包括单元测试、接口测试、UI测试等,确保软件功能的完整性和稳定性。 - **应用性能监控**:对生产环境的应用进行7x24小时监控,及时发现并解决问题。 - **业务数据监控**:通过对业务数据的实时监控,提前预警可能出现的问题。 - **分布式调用跟踪**:在复杂的分布式系统中追踪请求路径,帮助定位问题根源。 - **数据智能分析**:利用大数据和机器学习技术进行数据分析,为决策提供依据。 - **日志采集搜索**:收集并存储系统的日志信息,方便后续的问题排查和审计。 - **自动化运维工具**:实现运维工作的自动化,减少人为错误的发生概率。 #### 五、如何更好地实现敏捷 京东采用了多种技术和方法来促进敏捷开发,例如: - **统一工作平台**:提供一个集成了所有开发工具的统一平台,简化开发流程。 - **上线流程管理**:通过自动化工具和标准化流程来管理软件发布的全过程。 - **应用性能监控**:对生产环境的应用进行持续监控,确保系统稳定运行。 - **业务数据监控**:对关键业务指标进行实时监控,及时发现问题。 - **分布式调用跟踪**:在分布式环境中追踪请求的执行路径,便于调试。 - **数据智能分析**:利用数据分析技术提高决策的准确性和效率。 - **日志采集搜索**:自动收集并存储系统日志,方便问题追踪。 - **自动化运维工具**:通过自动化手段减少运维工作中的人为错误。 #### 六、京东测试环境CI实现 京东通过一系列工具和技术实现了持续集成(CI)在测试环境中的应用。主要包括以下几个方面: 1. **编译打包**:使用MATRIX、MAVEN、ANT等工具进行编译打包。 2. **代码检测**:利用Sonar+TQ等工具进行代码质量检测。 3. **自动化测试**:包括接口测试、UI自动化测试、兼容性自动化测试等多种类型。 4. **自动部署**:借助自动部署系统,实现一键式部署。 5. **Jenkins看板**:通过Jenkins结合Build-monitor-plugin插件实现进度可视化。 京东通过构建一套完整的质量控制体系,不仅提高了软件产品的质量,还大大提升了研发效率和团队协作水平。这种全方位的质量管理理念值得其他企业借鉴和学习。
剩余26页未读,继续阅读
- tmc333741112016-07-19好东西,干货。
- shin8910202018-04-07好东西适用
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助