一种基于云平台的在线开发与代码托管系统与使用方法技术方案

技术编号:29788666 阅读:12 留言:0更新日期:2021-08-24 18:07
本发明专利技术提供一种基于云平台的在线开发与代码托管系统及其使用方法,所述基于云平台的在线开发与代码托管系统,包括:代码托管模块,用于提供在线代码托管服务;流程定制模块,用于定义研发规则及研发流程;代码检查模块,用于对源代码进行缺陷检查;编译构建模块,用于对源代码进行自动化编译;软件测试模块,用于对编译生成的软件进行自动化测试;联调验证模块,用于集成测试和联调验证;软件封装模块,用于对测试通过的软件按照标准格式进行封装;系统组装模块,用于进行系统组装。根据本发明专利技术的方案,降低了研发人员的重复劳动,确保软件的发布周期更短,针对性更强,并提供了环境的恢复与保存服务。

【技术实现步骤摘要】
一种基于云平台的在线开发与代码托管系统与使用方法
本专利技术涉及软件自动化编译
,尤其涉及一种基于云平台的在线开发与代码托管系统与使用方法。
技术介绍
现代软件开发已由传统的少量开发人员简单协作转变为群体开发及更复杂的协作。随着软件架构、开发思想和开发工具的发展,软件的架构和功能越来越复杂,开发节奏越来越快,但传统的由开发人员开发、测试人员测试、运维人员部署的形式,存在软件开发错误不能及时发现、人工低级错误时常发生、团队协作效率低下、重复劳动和开发/测试/运维团队对立等问题,从而导致软件无法高质量开发和高效交付。为了应对和解决以上问题,市面上出现了将软件按照工厂装配线的持续交付(ContinuousIntegration,CI/ContinuousDelivery,CD),将软件交付管道以快速、自动化和可重复方式从源码生成发布版本,在一定程度上达到软件简单、顺畅、高效的开发、集成和发布。但随着信息技术应用创新和国产自主的发展,这些CI/CD工具并不能很好适应和解决多平台,例如异构软硬件和多环境下的软件自动化开发集成、测试与部署的问题。
技术实现思路
为解决上述技术问题,本专利技术提出了一种基于云平台的在线开发与代码托管系统与使用方法,所述基于云平台的在线开发与代码托管系统与使用方法,用以解决CI/CD工具并不能很好适应和解决多平台,例如异构软硬件和多环境下的软件自动化开发集成、测试与部署的问题。根据本专利技术的第一方面,提供一种基于云平台的在线开发与代码托管系统,所述系统,包括:所述基于云平台的在线开发与代码托管系统,包括代码托管模块、流程定制模块、代码检查模块、编译构建模块、软件测试模块、联调验证模块、软件封装模块、系统组装模块;所述代码托管模块:用于监听用户行为并触发代码操作事件,提供在线代码托管服务;所述流程定制模块:用于定义研发规则及研发流程;所述代码检查模块:用于对源代码进行缺陷检查,生成检查报告;所述编译构建模块:用于基于事件机制及配置的研发流程对源代码进行自动化编译;所述软件测试模块:用于对编译生成的软件进行自动化测试;所述联调验证模块:用于对软件及软件间的依赖关系执行集成测试和联调验证;所述软件封装模块:用于对测试通过的软件按照标准格式进行封装,并入库;所述系统组装模块:用于对多个软件按照其依赖环境和配置信息进行系统组装。根据本专利技术第二方面,提供一种基于云平台的在线开发与代码托管系统的使用方法,所述方法包括:步骤S201:用户启动所述基于云平台的在线开发与代码托管系统,触发代码操作事件,申请代码托管;步骤S202:所述基于云平台的在线开发与代码托管系统基于定制的流程和规则,检查源代码;步骤S203:所述基于云平台的在线开发与代码托管系统编译源代码,对编译后的软件进行测试及联调验证;步骤S204:所述基于云平台的在线开发与代码托管系统封装软件并进行系统组装。根据本专利技术第三方面,提供一种基于云平台的在线开发与代码托管系统,包括:处理器,用于执行多条指令;存储器,用于存储多条指令;其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的基于云平台的在线开发与代码托管系统的使用方法。根据本专利技术第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的基于云平台的在线开发与代码托管系统的使用方法。根据本专利技术的上述方案,采用基于云平台的在线开发与代码托管系统进行软件的辅助开发,一方面可有有效的减少代码的变更和审核时间,加快软件发布周期;另一方面可以通过自动化测试覆盖软件的各个功能点,确保软件的开发质量,提高了软件开发的效率和开发质量。采用基于云平台的在线开发与代码托管系统引入了自动化编译、测试和部署,大大降低了以往开发人员、测试人员和运维人员的重复劳动;同时,由于软件的自动编译与自动部署,可以确保软件的发布周期更短,针对性更强,并提供了环境的恢复与保存服务。这样可以让客户更快的参与产品新特性体验,并快速响应客户的需求变更,从而有效提高了客户的体验和满意度。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,并可依照说明书的内容予以实施,以下以本专利技术的较佳实施例并配合附图详细说明如后。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术提供如下附图进行说明。在附图中:图1为本专利技术一个实施方式的基于云平台的在线开发与代码托管系统结构示意图;图2为本专利技术一个实施方式的基于云平台的在线开发与代码托管系统使用时的流程示意图。具体实施方式首先结合图1说明本专利技术一个实施方式的基于云平台的在线开发与代码托管系统结构。如图1所示,所述基于云平台的在线开发与代码托管系统,包括代码托管模块、流程定制模块、代码检查模块、编译构建模块、软件测试模块、联调验证模块、软件封装模块、系统组装模块;所述代码托管模块:用于监听用户行为并触发代码操作事件,提供在线代码托管服务;所述流程定制模块:用于定义研发规则及研发流程;所述代码检查模块:用于对源代码进行缺陷检查,生成检查报告;所述编译构建模块:用于基于事件机制及配置的研发流程对源代码进行自动化编译;所述软件测试模块:用于对编译生成的软件进行自动化测试;所述联调验证模块:用于对软件及软件间的依赖关系执行集成测试和联调验证;所述软件封装模块:用于对测试通过的软件按照标准格式进行封装,并入库;所述系统组装模块:用于对多个软件按照其依赖环境和配置信息进行系统组装。本实施例的基于云平台的在线开发与代码托管系统,该系统基于云平台实现资源自动分配和调度,并提供方法和工具以支持软件在线开发与代码托管。所述代码托管模块:用于监听用户行为并触发代码操作事件,提供在线代码托管服务,其中:所述代码托管模块提供基于git、svn等方式的在线服务,支持开发人员在线提交软件源代码,并对代码提交行为进行事件监控。所述代码托管模块包括代码库判断子模块、监听子模块及通知子模块。所述代码库判断子模块用于基于用户的代码托管申请,判断是否存在相应的代码库,如果不存在相应的代码库,则创建代码库,然后将代码存入该相应的代码库;如果存在相应的代码库,则将代码存入该相应的代码库;所述监听子模块用于创建监听任务,监听用户行为是否为预定义事件,若为预定义事件,则触发与该用户行为对应的事件;所述预定义事件包括但不限于提交代码、合并代码、克隆代码。所述通知子模块用于触发与该用户行为事件后,通知监听器,执行用户行为事件的后续操作。所述流程定制模块:用于定义研发规则及研发流程,其中:该流程定制模块对流程,例如自动编译、自动封装、自动部署等流程进行编排。进一步地,所述流程定制模本文档来自技高网...

【技术保护点】
1.一种基于云平台的在线开发与代码托管系统,其特征在于,所述基于云平台的在线开发与代码托管系统,包括代码托管模块、流程定制模块、代码检查模块、编译构建模块、软件测试模块、联调验证模块、软件封装模块、系统组装模块;/n所述代码托管模块:用于监听用户行为并触发代码操作事件,提供在线代码托管服务;/n所述流程定制模块:用于定义研发规则及研发流程;/n所述代码检查模块:用于对源代码进行缺陷检查,生成检查报告;/n所述编译构建模块:用于基于事件机制及配置的研发流程对源代码进行自动化编译;/n所述软件测试模块:用于对编译生成的软件进行自动化测试;/n所述联调验证模块:用于对软件及软件间的依赖关系执行集成测试和联调验证;/n所述软件封装模块:用于对测试通过的软件按照标准格式进行封装,并入库;/n所述系统组装模块:用于对多个软件按照其依赖环境和配置信息进行系统组装。/n

【技术特征摘要】
1.一种基于云平台的在线开发与代码托管系统,其特征在于,所述基于云平台的在线开发与代码托管系统,包括代码托管模块、流程定制模块、代码检查模块、编译构建模块、软件测试模块、联调验证模块、软件封装模块、系统组装模块;
所述代码托管模块:用于监听用户行为并触发代码操作事件,提供在线代码托管服务;
所述流程定制模块:用于定义研发规则及研发流程;
所述代码检查模块:用于对源代码进行缺陷检查,生成检查报告;
所述编译构建模块:用于基于事件机制及配置的研发流程对源代码进行自动化编译;
所述软件测试模块:用于对编译生成的软件进行自动化测试;
所述联调验证模块:用于对软件及软件间的依赖关系执行集成测试和联调验证;
所述软件封装模块:用于对测试通过的软件按照标准格式进行封装,并入库;
所述系统组装模块:用于对多个软件按照其依赖环境和配置信息进行系统组装。


2.如权利要求1所述的基于云平台的在线开发与代码托管系统,其特征在于,所述代码托管模块包括代码库判断子模块、监听子模块及通知子模块;
所述代码库判断子模块用于基于用户的代码托管申请,判断是否存在相应的代码库,如果不存在相应的代码库,则创建代码库,然后将代码存入该相应的代码库;如果存在相应的代码库,则将代码存入该相应的代码库;
所述监听子模块用于创建监听任务,监听用户行为是否为预定义事件,若为预定义事件,则触发与该用户行为对应的事件;
所述通知子模块用于触发与该用户行为事件后,通知监听器,执行用户行为事件的后续操作。


3.如权利要求2所述的基于云平台的在线开发与代码托管系统,其特征在于,基于图形化界面,利用所述流程定制模块,能够对软件进行各类规则的撰写和编排;流程定制模块支持软件源代码编译规则、构建规则、检查规则、测试规则、数据校验规则、封装规则、部署规则的制定,并能够对已经编辑的规则按照工作流的方式进行流程编排。


4.如权利要求3所述的基于云平台的在线开发与代码托管系统,其特征在于,当所述代码托管模块监测到预定义事件发生时,所述代码检查模块根据配置信息判断是否需要执行代码检查操作,如果不需要则跳过代码检查;如果需要则执行代码检查。


5.如权利要求4所述的...

【专利技术属性】
技术研发人员:刘丽莉张鹏飞刘天泽田晓
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:北京;11

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

1