DevOps,面对越来越易变的市场,系统建设必须不断推陈出新,快速响应市场,才能抢占先机。而DevOps是一组过程、方法与系统的统称,用于促进软件开发过程中业务、开发、技术运营与质量保障部门之间的沟通、协作与整合。它强调:极致的用户体验;快速的产品创新;快速迭代的业务演进;高效的IT生产力。 为达成转型目标,提高组织持续、高效、高质的交付价值的能力,必须进行体系化的敏捷转型,建设DevOps统一开发平台。
自主研发DevOps平台,以管理为基础,技术为主线的方式,关注于自动化和指标的提升,通过打造全协同的工作链体系,提升产品价值。
基于禅道产品管理、gitlab、Docker、Jenkins等开源框架及技术,在私有云环境构建完整的Devops开发平台,一是给所有开发者提供统一入口,实现产品开发的全流程管理;二是实现自动化的敏捷开发、持续集成等能力;三是给开发人员提供Devops支撑技术学习和培训和交流环境,实现经验共享及能力提升。四是提供统一的云资源申请及配置,供各个自研产品的灵活发布和部署。DevOps开发平台包括DevOps门户统一视图、项目管理、持续构建、管控中心等子系统,系统功能架构如下:
1)基于禅道管理的敏捷开发:依据敏捷开发的原则,利用现有禅道系统产品及需求管理的流程,对自研产品的项目研发流程以敏捷迭代的模式进行全程的管理。
2)迭代开发过程中,开发人员可以随时将开发、修改后的不影响系统功能的代码合入代码仓库(可以是GitLab或者SVN)。同时依靠Jenkins的持续集成能力,可以手动、自动发起一个构建流程,实现从源码到版本包到测试环境到自动化测试脚本的一个完整的持续集成过程,提高代码质量和生产效率。
3)资源管理模块是DevOps支撑平台基础能力,目前DevOps资源指Docker容器,主要作为产品持续测试环境。Docker作为应用容器引擎,相对于虚机资源分配、管理更加灵活。