一种基于DevOps的软件开发管理平台及方法技术

技术编号:15910644 阅读:168 留言:0更新日期:2017-08-01 22:25
本发明专利技术公开了一种基于DevOps的软件开发管理平台,该平台包括:用于供用户创建集群以管理多个服务器的集群管理模块、用于为用户提供用户权限管理和代码管理的应用管理模块、用于供用户构建代码并对代码进行静态分析的构建管理模块以及用于供用户创建并执行部署任务的部署管理模块。本发明专利技术的软件开发管理平台整合了多种开源工具,通过多种开源工具之间的配合使用,加强了软件开发、测试和运维之间的沟通,规范了软件开发的流程,实现持续部署以减少人工投入和降低人为错误。同时,本发明专利技术还公开了一种基于DevOps的软件开发管理方法,该方法操作灵活简单,应用性强。

A software development management platform and method based on DevOps

The invention discloses a software development management platform based on DevOps, the platform includes: used for users to create cluster to cluster management module, management of multiple servers to provide application management module, user management and code management to users for users to build code and static analysis of the code construction management module and for users to create and implement the deployment management module deployment tasks. Software development management platform of the invention integrates a variety of open source tools, through the cooperation between the various open source tools, strengthen the software development, testing and maintenance of communication, standardize the software development process, to achieve continuous deployment in order to reduce labor input and reduce human error. At the same time, the invention also discloses a software development management method based on DevOps, which has the advantages of flexible operation, simple application and strong applicability.

【技术实现步骤摘要】
一种基于DevOps的软件开发管理平台及方法
本专利技术涉及软件开发平台及方法,尤其涉及一种基于DevOps的软件开发管理平台及方法。
技术介绍
随着互联网的发展,人们对互联网的要求越来越高,推动了互联网技术的快速发展。由于访问量庞大,互联网应用的运维成本越来越高,对于小则几十、上百台服务器的集群,大则几千、几万台服务器的云平台,没有安全高效的部署和监控手段,应用将无法正常运营。传统的软件组织将开发、测试和运维设为各自独立的部门,交付的软件产品需要在一个部门中处理完成后才能流转到下一个部门。这一模式使得产品的问题无法尽早发现,浪费人力成本,拉长产品的迭代周期。因此,打造一套可加强开发、测试和运维之间沟通的自动化工具是目前软件开发技术的研究方向。DevOps是一组过程、方法与系统的统称,提倡开发和IT运维之间的高度协同,从而在高频率部署的同时,提高生产环境的可靠性、稳定性、弹性和安全性。现有技术中,如中国专利CN105653449A中公开了一种基于容器虚拟化的持续集成方法,该专利技术通过采用容器虚拟化技术,通过Docker来屏蔽实际环境中的差异,通过Dockerfile来统一规范应用运行环境;同时能够在单一机器环境中无干扰的部署,并能较方便的进行横向扩展,同时基于git的触发机制,能够自动的在代码提交后进行持续集成,减少人工工作量。但是该专利技术未能对软件项目的开发流程进行管理,而且不能将软件开发、测试和运维进行统一部署监控。鉴于此,有必要提供一种可解决上述缺陷的可对软件开发的生命周期统一管理的基于DevOps的软件开发管理平台及方法,以加强开发、测试和运维之间的沟通,实现软件开发、测试和运维一体化,同时实现持续部署,减少人工投入,降低人为出错;同时,提供一种基于DevOps的软件开发管理方法,操作简单灵活,应用性强,有利于满足用户的自身需求。
技术实现思路
本专利技术所要解决的一个技术问题是提供一种基于DevOps的软件开发管理平台,加强开发、测试和运维之间的沟通,实现软件开发、测试和运维一体化,同时实现持续部署,减少人工投入,降低人为出错。本专利技术所要解决的另一个技术问题是提供一种基于DevOps的软件开发管理方法以对软件开发的生命周期进行统一管理,加强开发、测试和运维之间的沟通,实现软件开发、测试和运维的一体化,同时操作简单灵活,应用性强,有利于满足用户的自身需求。为解决上述技术问题,本专利技术提供了一种基于DevOps的软件开发管理平台,其包括:集群管理模块,用于供用户创建集群以管理多个服务器;应用管理模块,用于供用户创建应用并将应用的服务项目、代码及用户数据保存到集群中以提供用户权限管理和代码管理;构建管理模块,用于供用户构建所述应用管理模块中管理的代码并对代码进行静态分析;以及部署管理模块,用于供用户创建并执行部署任务。其进一步技术方案为:所述应用管理模块包括:应用创建单元,用于设置应用的服务项目,并将每一服务项目关联到相应的Git项目;代码管理单元,用于创建和管理Git仓库,并将编辑处理后的代码上传保存至Git仓库中以实现代码管理;以及代码封版单元,用于为Git仓库创建分支和标记以定义编辑处理后的代码的版本并对其进行封版。其进一步技术方案为:所述构建管理模块包括:任务构建单元,用于创建和管理构建代码的任务以对代码进行构建;定时单元,用于创建定时器以根据约定的时间间隔,定时通知所述任务构建单元进行代码构建;以及镜像管理单元,用于管理所述任务构建单元构建的Docker镜像。其进一步技术方案为:所述构建管理单元还包括:静态分析单元,用于静态分析所述应用管理模块的代码。其进一步技术方案为:所述部署管理模块包括:资源管理模块,用于将资源管理服务部署到集群中,为部署任务提供数据库;以及服务部署单元,用于创建部署任务,将所述构建管理模块中构建的Docker镜像及可部署脚本部署到集群中,以对代码进行自动化测试。为解决上述技术问题,本专利技术还提供了一种基于DevOps的软件开发管理方法,其包括以下步骤:步骤S101,创建集群以管理多个服务器;步骤S102,创建应用,为应用创建服务项目、并将应用的服务项目、代码及用户数据保存到集群中以提供用户权限管理和代码管理;步骤S103,构建并静态分析代码;步骤S104,创建并执行部署任务。其进一步技术方案为:所述步骤S102中包括以下步骤:步骤S21,设置应用的服务项目,并将每一服务项目关联到对应的Git项目;步骤S22,创建和管理Git仓库,编辑处理代码,并将编辑处理后的代码上传保存至Git仓库中;步骤S23,为Git仓库创建分支和标记以定义编辑后的代码的版本并对其进行封版。其进一步技术方案为:所述步骤S103包括以下步骤:步骤S31,构建通知;步骤S32,构建代码,Jenkins接收到构建通知后构建代码;步骤S33,镜像管理,对构建的Docker镜像进行管理。其进一步技术方案为:所述步骤S103还包括以下步骤:步骤S311,当编辑处理后的代码保存至Git仓库后,触发Sonar对代码进行静态分析。其进一步技术方案为:所述步骤S104包括以下步骤:步骤S41,使用Docker的镜像技术将资源管理服务部署到集群中,为部署任务提供数据库;步骤S42,部署通知;步骤S43,部署任务,将构建的Docker镜像及可部署脚本部署到集群中,触发测试任务对代码进行自动化测试。本专利技术的有益技术效果在于:基于本专利技术所提供的一种基于DevOps的软件开发管理平台,整合了Gogs、Jenkins、Sonar、Kubernetes等多种开源工具,为软件项目的整个生命周期提供一站式服务,加强了开发、测试和运维之间的沟通,实现软件开发、测试和运维一体化,同时实现持续部署,减少人工投入,降低人为出错,而且可及时发现软件问题,加快软件的迭代周期,符合未来发展的需求;同时,本专利技术所提供的一种基于DevOps的软件开发管理方法操作简单灵活,应用性强,有利于满足用户的自身需求。通过以下的描述并结合附图,本专利技术将变得更加清晰,这些附图用于解释本专利技术的实施例。附图说明图1是本专利技术一种基于DevOps的软件开发管理平台的系统框图。图2是本专利技术的软件开发管理平台的应用管理模块一具体实施例的内部模块框图。图3是本专利技术的软件开发管理平台的构建管理模块一具体实施例的内部模块框图。图4是本专利技术的软件开发管理平台的部署管理模块一具体实施例的内部模块框图。图5是本专利技术一种基于DevOps的软件开发管理方法的流程图。图6是本专利技术的软件开发管理方法一具体实施例的实现流程图。具体实施方式为使本领域的普通技术人员更加清楚地理解本专利技术的目的、技术方案和优点,以下结合附图和实施例对本专利技术做进一步的阐述,附图中类似的组件标号代表类似的组件。显然,以下将描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。首先,参照图1,本专利技术所提供的一种基于DevOps的软件开发管理平台包括集群管理模块11、应用管理模块12、构建管理模块13以及部署管理模块14。所述软件开发管理平台整合了Gogs、Jenkins、Sonar、Docker、Kubernet本文档来自技高网
...
一种基于DevOps的软件开发管理平台及方法

【技术保护点】
一种基于DevOps的软件开发管理平台,其特征在于,包括:集群管理模块,用于供用户创建集群以管理多个服务器;应用管理模块,用于供用户创建应用并将应用的服务项目、代码及用户数据保存到集群中以提供用户权限管理和代码管理;构建管理模块,用于供用户构建所述应用管理模块中管理的代码并对代码进行静态分析;以及部署管理模块,用于供用户创建并执行部署任务。

【技术特征摘要】
1.一种基于DevOps的软件开发管理平台,其特征在于,包括:集群管理模块,用于供用户创建集群以管理多个服务器;应用管理模块,用于供用户创建应用并将应用的服务项目、代码及用户数据保存到集群中以提供用户权限管理和代码管理;构建管理模块,用于供用户构建所述应用管理模块中管理的代码并对代码进行静态分析;以及部署管理模块,用于供用户创建并执行部署任务。2.如权利要求1所述的软件开发管理平台,其特征在于,所述应用管理模块包括:应用创建单元,用于设置应用的服务项目,并将每一服务项目关联到相应的Git项目;代码管理单元,用于创建和管理Git仓库,并将编辑处理后的代码上传保存至Git仓库中以实现代码管理;以及代码封版单元,用于为Git仓库创建分支和标记以定义编辑处理后的代码的版本并对其进行封版。3.如权利要求1所述的软件开发管理平台,其特征在于,所述构建管理模块包括:任务构建单元,用于创建和管理构建代码的任务以对代码进行构建;定时单元,用于创建定时器以根据约定的时间间隔,定时通知所述任务构建单元进行代码构建;以及镜像管理单元,用于管理所述任务构建单元构建的Docker镜像。4.如权利要求1所述的软件开发管理平台,其特征在于,所述构建管理模块还包括:静态分析单元,用于静态分析所述应用管理模块的代码。5.如权利要求1所述的软件开发管理平台,其特征在于,所述部署管理模块包括:资源管理单元,用于将资源管理服务部署到集群中,为部署任务提供数据库;以及服务部署单元,用于创建部署任务,将所述构建管理模块中构建的Docker镜像及可部署脚本部署到集群中...

【专利技术属性】
技术研发人员:骆建斌钟坚廖小文王沛文林宏正
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1