论文部分内容阅读
现在模式下的互联网发展,云计算和大数据等技术领域的发展趋势迅猛,与此同时,在业务思维方式中,DevOps已经慢慢占据一定的地位,并且将会在大大小小的公司发展中承担起主要角色来。在云连接、移动化和应用驱动的大环境下,越来越多的公司也将逐步走上属于自己的DevOps之路。开发(Development)和运维(Operations)这两个组合一下就是DevOps,DevOps是一个统称,它是由方法、过程和系统组成的。它是能够帮助开发部门和测试部门、运维部门提高交流、合作和整合效率的。随着公司的发展,人员不断增加、业务更加多样,运维部门和开发部门之间逐渐产生了沟壑,慢慢变成了两个独立的部门,两个部门工作地点不一样,工具链也不一样,对于自己的业务追求也大相径庭。长此以往,软件发布的过程就变成了从沟这边运送软件到沟的另一边,充满困难。正是因为上述冲突,DevOps就慢慢产生,DevOps就是一种改善跨部门的沟通和交流,提高协作能力的方法。它大大提高了持续的部署和交付的效率,这是相对于业务产品而言的。然而DevOps文化和技术方法论,作为部门之间交流沟通的方法和流程,大大提升了员工对于公司的参与感,改善公司的组织文化。使用DevOps的方法,能够提升产品交付时间,提高测试效率、功能开发效率和维护效率。因此,本文结合公司内开发人员的需求,对公司现有的开发管理系统的不足,构建出了基于云计算的DevOps平台。并根据业务需要确定了系统所应具有的五大功能模块,即构建模块、流水线模块、代码托管模块、代码检查模块、程序包模块。在创建构建信息中,通过输入构建相关信息点击,完成镜像的构建;流水线模块是多个功能的整合运行,创建不同的节点来运行每个阶段的操作;代码托管是根据用户需求参考GitLab编写代码托管的界面;代码检查是基于Sonar的SDK完成对于项目进行检查与检查结果展示;程序包是存储通过上传操作的程序包以及存储在构建模块构建出来的程序包。系统在整体的设计上采用前后端分离的架构,前端架构采用的Angular6+ng-zorro-antd作为页面框架。后端采用go-restful+go-xorm,采用NPM进行依赖管理。数据库用的是MySQL,使用MongoDB来处理分布式存储。