论文部分内容阅读
随着IT技术的发展与商业软件市场的扩张,为了适应市场需求软件版本迭代的速度越来越快。这种情况导致了软件需要频繁的交付,为软件运维工作带来了巨大的挑战。为了解决这个问题而提出了DevOps的思想,其强调运维工作的自动化。为了实现运维自动化的目标,一系列自动运维工具被研发出来,运维人员只需要编写好配置脚本就可以完成部署工作。但是项目部署的环境是不确定的,所以配置脚本需要根据不同的环境重新编写,运维困难的问题依然没有得到解决。而容器云技术的发展解决了这个问题,容器云是由容器与容器编排工具共同构成的。容器可以保证环境的一致性,是实现DevOps的最佳工具。但是容器只能在单台物理机上运行,需要容器编排工具管理多台物理机集群中的容器,并通过虚拟网络层实现统一的对外访问接口。通过容器云可以保证开发环境,测试环境,运维环境的一致性,让运维工作得以自动化从而完成DevOps的实践。本文以解决项目运维困难为主要研究目标,从项目参与人员的角度出发,对软件生命周期的流程进行分析,结合容器云技术对相关开源软件进行整合设计并实现一个DevOps云平台。本文根据DevOps云平台的业务需求被划分为五个模块:资源管模块、进度管理模块、在线开发模块、镜像管理模块以及应用管理模块。具体完成了以下工作:1)完成了集群中存储资源的管理,使用分布式文件系统将所有资源集中之后,统一进行分配,实现文件共享,空间限制,自动备份等功能。2)实现了项目进度管理,项目负责人可以在系统中创建任务,查看任务进度,分配任务,从而实现对项目整体进度的管控。还实现了对项目关键操作的审核,使项目操作更安全。3)实现了在线开发功能,用户可以在网页上进行代码的编写,本系统在后台提供一个容器让用户调试,并将调试结果返回。本系统通过容器保证了开发环境与测试环境的一致性。4)实现了镜像管理功能,运维工程师可以在线制作镜像,并优化了镜像的保存与删除功能。5)应用管理,代码编写完成后,会自动构建成应用,可以完成自动发布,不需要运维人员使用命令来进行部署。本系统基于容器技术通过对以上功能的整合设计并实现了一个可以用来项目管理,项目开发,在线运维的DevOps平台。最后对本平台进行了功能测试与性能测试,测试结果证明该DevOps云平台满足了用户需求并拥有良好的用户体验。