开发者利用Gitlab本地提交,并上传到Gerrit触发 code review,然后发送给Jenkins构建任务;
正常的产品发布,在合并主干代码,自动生成RPM,生成软件镜像分发;然后自动化安装部署,交由测试人员进行相关测试;
在产品bug fix流程中,首先实现bug在all in one环境重现,开发人员完成bugfix,打包RPM,并提交bug验证环境进行确认;待在bugfix确认后,进入正常Git流程。
导入敏捷开发的移动应用的实践
我们在OpenStack平台上构建了一个PaaS模块产品一站式发布的Web Portal,包含有:企业应用模板、数据库服务、大数据分析服务、业务编排服务等OpenStack各类功能;这样,开发人员无需关注找服务器、部署环境(各种软件包、MySQL、Nginx等)等步骤,只需要写好工具本身的逻辑代码,加载到PaaS容器就可以。
在代码提交后,基于敏捷CI的系列流程管控。首先,OpenStack平台上Master资源节点通过细粒度资源分配,将可用资源报告给上层Jenkins中心,Jenkins选择某个Slave资源节点执行,完成一次资源分配。这样可实现分组的代码打包、编译、分发的任务。其中,以Jenkins为核心的产品的周期管理,以及触发软件包自动构建;Gitlab和Gerrit协作完成代码及软件仓库管理;由于移动应用本身对资源的任务调度依赖较弱,接下来可充分发挥任务编排的能力,从应用打包(build)、部署逻辑、部署数据、部署实施到部署验证,完成一系列的产品集成部署。
目前我们从产品的配置管理、软件包管理到任务编排都做了诸多到尝试,效果比较满意。后续将在流程管理部分上继续实践,比如线上服务变更、软件发布周期等,争取达到高效的持续部署。
作者简介:
张小斌,思源科技集团云服务中心副总经理,拥有近20年的计算机软件设计、开发和管理经验,在硅谷和国内多家企业担任过工程师、技术经理、研发经理和研发总监职位,负责电信网管系统、企业解决方案、邮件安全、移动安全、移动互联网搜索引擎、云计算等的研发管理工作。著有《OpenStack企业云平台架构与实践》。
肖何,云计算/大数据思科资深架构师,擅长虚拟化技术/分布式系统/容器技术/SDN/云数据中心/OpenStack云平台/Hadoop大数据平台/企业数据分析及商业智能等方案咨询和设计,以及结合IT/OT创新的等行业解决方案。
谢超,云途腾科技有限责任公司T2Cloud云平台高级研发工程师,从事过多年Linux内核的开发,DPDK用户态防火墙及安全审计产品的研发工作,目前从事T2Cloud云平台产品的研发,领导公司参与社区的贡献和技术跟踪,主要技术方向是网络虚拟化项目Neutron。