技术领域
[0001] 本
发明涉及
数据处理技术领域,具体地,涉及一种资源和配置的自动生成装置和一种资源和配置的自动生成方法。
背景技术
[0002] 传统的
软件开发项目,软件开发过程通常在功能全部开发完成后才进行产品的集成,很多问题往往在项目后期的产品集成测试过程中才能发现,大大提高了交付的
风险,因此当前软件研发过程提倡持续集成。
[0003] 持续集成是一种软件开发实践,即团队成员经常继承他们的工作,通常每个成员每天至少集成一次,这就意味产品集成工作每天都会发生,需要每次集成都是通过自动化的构建(变异,发布,自动化测试)来验证。
[0004] 持续集成给传统的配置管理员带来了很大的挑战,在项目初期,就需要配置管理员进行大量的繁琐的配置工作,包括需要配置资源版本控制
服务器、为版本控制服务器添加用户设置权限、配置代码编译任务、配置自动化测试任务等等操作。而对于同一个组织来说,往往不同的项目采取的技术方案和
框架是基本相同的,这样配置工作就变成了一个重复、耗时的工作,成为了持续集成的
瓶颈。
[0005] 因此,需要一种新的资源和配置生成技术,可以在现有的资源和配置生成方式
基础上,充分利用单对象类型完成多对象类型的资源和配置生成,建立基于复杂类型的资源和配置的通用、统一生成思路。
发明内容
[0006] 本发明正是基于上述问题,提出了一种新的资源和配置生成技术,可以在现有的资源和配置生成方式基础上,充分利用单对象类型完成多对象类型的资源和配置生成,建立基于复杂类型的资源和配置的通用、统一生成思路。
[0007] 有鉴于此,本发明提出了一种资源和配置的自动生成装置,包括:
角色定义单元,用于录入或导入用户信息,
指定该用户的角色,给不同的角色定义git库中不同的权限;信息创建单元,用于基于对不同角色定义的权限,创建项目信息,对引入人员的角色根据项目需要进行调整;创建模
块信息,根据录入信息自动生成git库的ssh串;配置信息和任务生成单元,用于基于生成的生成git库的ssh串,保存项目信息时驱动后台,根据项目信息中定义的上下文信息,生成配置信息和任务。在该技术方案中,可以使软件项目组成员从复杂耗时的资源配置工作中解放出来,更聚焦于业务逻辑处理。
[0008] 在上述技术方案中,优选地,所述角色定义单元,具体包括:角色指定模块,用于录入或导入用户信息,指定该用户的角色;权限指定模块,用于指定用户的角色后,给不同的角色定义git库中不同的权限。在该技术方案中,可以节省配置环境消耗的人
力和时间成本,使项目从建立伊始便能够进行持续的集成。
[0009] 在上述技术方案中,优选地,所述信息创建单元,具体包括:项目信息创建模块,用于基于对不同角色定义的权限,创建项目信息,引入该项目能够使用的研发人力资源,对引入人员的角色根据项目需要进行调整;模块信息创建模块,用于基于调整后的角色,创建模块信息,根据录入信息自动生成git库的ssh串。在该技术方案中,只需项目经理手动输入项目信息,其他过程都是自动完成,配置管理员所做的工作被一键解决。
[0010] 在上述技术方案中,优选地,所述配置信息和任务生成单元,具体包括:配置库创建模块,用于在界面上输入项目信息,保存界面,并根据项目编码和配置服务器信息,自动在git服务器上创建配置库;任务生成模块,用于基于创建的配置库,根据项目参与人员及角色创建git库用户,根据项目上关联的jenkins模板创建jenkins任务。在该技术方案中,只需录入项目的基本信息,引入项目参与人员,系统就能自动为项目配置资源,搭建一套持续集成系统,大大节省软件开发项目在系统配置上花销的人力和时间成本。
[0011] 在上述技术方案中,优选地,所述角色指定模块指定的角色,包括产品经理、开发、测试;和/或,所述模块信息创建模块根据录入信息自动生成git库的ssh串的操作,进一步包括:将项目编码作为组名,将项目编码加模块编码作为库名,通过项目编码和模块编码保证git库ssh的唯一性;和/或,所述配置库创建模块在界面上输入的项目信息,包括项目的唯一标识编码,参与项目的人员及其角色,项目引用的配置服务器信息;和/或,所述任务生成模块根据项目上关联的jenkins模板创建的jenkins任务,包括编译、
白盒测试、打包、做盘和部署中的任意几个。
[0012] 根据本发明的又一个方面,还提出了一种资源和配置的自动生成方法,包括:步骤202:录入或导入用户信息,指定该用户的角色,给不同的角色定义git库中不同的权限;步骤204:基于对不同角色定义的权限,创建项目信息,对引入人员的角色根据项目需要进行调整;创建模块信息,根据录入信息自动生成git库的ssh串;步骤206:基于生成的生成git库的ssh串,保存项目信息时驱动后台,根据项目信息中定义的上下文信息,生成配置信息和任务。在该技术方案中,可以使软件项目组成员从复杂耗时的资源配置工作中解放出来,更聚焦于业务逻辑处理。
[0013] 在上述技术方案中,优选地,所述步骤202,具体包括:步骤302:录入或导入用户信息,指定该用户的角色;步骤304:指定用户的角色后,给不同的角色定义git库中不同的权限。在该技术方案中,可以节省配置环境消耗的人力和时间成本,使项目从建立伊始便能够进行持续的集成。
[0014] 在上述技术方案中,优选地,所述步骤204,具体包括:步骤402:基于对不同角色定义的权限,创建项目信息,引入该项目能够使用的研发人力资源,对引入人员的角色根据项目需要进行调整;步骤404:基于调整后的角色,创建模块信息,根据录入信息自动生成git库的ssh串。在该技术方案中,只需项目经理手动输入项目信息,其他过程都是自动完成,配置管理员所做的工作被一键解决。
[0015] 在上述技术方案中,优选地,所述步骤206,具体包括:步骤502:在界面上输入项目信息,保存界面,并根据项目编码和配置服务器信息,自动在git服务器上创建配置库;步骤504:基于创建的配置库,根据项目参与人员及角色创建git库用户,根据项目上关联的jenkins模板创建jenkins任务。在该技术方案中,只需录入项目的基本信息,引入项目参与人员,系统就能自动为项目配置资源,搭建一套持续集成系统,大大节省软件开发项目在系统配置上花销的人力和时间成本。
[0016] 在上述技术方案中,优选地,所述步骤202指定的角色,包括产品经理、开发、测试;和/或,所述步骤204根据录入信息自动生成git库的ssh串的操作,进一步包括:将项目编码作为组名,将项目编码加模块编码作为库名,通过项目编码和模块编码保证git库ssh的唯一性;和/或,所述步骤502在界面上输入的项目信息,包括项目的唯一标识编码,参与项目的人员及其角色,项目引用的配置服务器信息;和/或,所述步骤504根据项目上关联的jenkins模板创建的jenkins任务,包括编译、白盒测试、打包、做盘和部署中的任意几个。
[0017] 通过以上技术方案,可以在现有的资源和配置生成方式基础上,充分利用单对象类型完成多对象类型的资源和配置生成,建立基于复杂类型的资源和配置的通用、统一生成思路。
附图说明
[0018] 图1示出了根据本发明的
实施例的资源和配置的自动生成装置的
框图;
[0019] 图2示出了根据本发明的实施例的资源和配置的自动生成方法的
流程图;
[0020] 图3示出了根据本发明的实施例的角色定义单元的流程图;
[0021] 图4示出了根据本发明的实施例的信息创建单元的流程图;
[0022] 图5示出了根据本发明的实施例的配置信息和任务生成单元的流程图;
[0023] 图6示出了根据本发明的实施例的把研发组织内的用户录入或导入到系统中的操作界面截图;
[0024] 图7示出了根据本发明的实施例的对引入的人员的角色根据项目需要进行调整的操作界面截图;
[0025] 图8示出了根据本发明的实施例的生成配置信息和任务的流程图。
具体实施方式
[0026] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本
申请的实施例及实施例中的特征可以相互组合。
[0027] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0028] 图1示出了根据本发明的实施例的资源和配置的自动生成装置的框图。
[0029] 如图1所示,根据本发明的实施例的资源和配置的自动生成装置100,包括:角色定义单元,用于录入或导入用户信息,指定该用户的角色,给不同的角色定义git库中不同的权限;信息创建单元,用于基于对不同角色定义的权限,创建项目信息,对引入人员的角色根据项目需要进行调整;创建模块信息,根据录入信息自动生成git库的ssh串;配置信息和任务生成单元,用于基于生成的生成git库的ssh串,保存项目信息时驱动后台,根据项目信息中定义的上下文信息,生成配置信息和任务。在该技术方案中,可以使软件项目组成员从复杂耗时的资源配置工作中解放出来,更聚焦于业务逻辑处理。
[0030] 在上述技术方案中,优选地,角色定义单元,具体包括:角色指定模块,用于录入或导入用户信息,指定该用户的角色;权限指定模块,用于指定用户的角色后,给不同的角色定义git库中不同的权限。在该技术方案中,可以节省配置环境消耗的人力和时间成本,使项目从建立伊始便能够进行持续的集成。
[0031] 在上述技术方案中,优选地,信息创建单元,具体包括:项目信息创建模块,用于基于对不同角色定义的权限,创建项目信息,引入该项目能够使用的研发人力资源,对引入人员的角色根据项目需要进行调整;模块信息创建模块,用于基于调整后的角色,创建模块信息,根据录入信息自动生成git库的ssh串。在该技术方案中,只需项目经理手动输入项目信息,其他过程都是自动完成,配置管理员所做的工作被一键解决。
[0032] 在上述技术方案中,优选地,配置信息和任务生成单元,具体包括:配置库创建模块,用于在界面上输入项目信息,保存界面,并根据项目编码和配置服务器信息,自动在git服务器上创建配置库;任务生成模块,用于基于创建的配置库,根据项目参与人员及角色创建git库用户,根据项目上关联的jenkins模板创建jenkins任务。在该技术方案中,只需录入项目的基本信息,引入项目参与人员,系统就能自动为项目配置资源,搭建一套持续集成系统,大大节省软件开发项目在系统配置上花销的人力和时间成本。
[0033] 在上述技术方案中,优选地,角色指定模块指定的角色,包括产品经理、开发、测试;和/或,模块信息创建模块根据录入信息自动生成git库的ssh串的操作,进一步包括:将项目编码作为组名,将项目编码加模块编码作为库名,通过项目编码和模块编码保证git库ssh的唯一性;和/或,配置库创建模块在界面上输入的项目信息,包括项目的唯一标识编码,参与项目的人员及其角色,项目引用的配置服务器信息;和/或,任务生成模块根据项目上关联的jenkins模板创建的jenkins任务,包括编译、白盒测试、打包、做盘和部署中的任意几个。
[0034] 图2示出了根据本发明的实施例的资源和配置的自动生成方法的流程图。
[0035] 如图2所示,根据本发明的实施例的资源和配置的自动生成方法,包括:步骤202:录入或导入用户信息,指定该用户的角色,给不同的角色定义git库中不同的权限;步骤
204:基于对不同角色定义的权限,创建项目信息,对引入人员的角色根据项目需要进行调整;创建模块信息,根据录入信息自动生成git库的ssh串;步骤206:基于生成的生成git库的ssh串,保存项目信息时驱动后台,根据项目信息中定义的上下文信息,生成配置信息和任务。在该技术方案中,可以使软件项目组成员从复杂耗时的资源配置工作中解放出来,更聚焦于业务逻辑处理。
[0036] 在上述技术方案中,优选地,如图3所示,步骤202,具体包括:步骤302:录入或导入用户信息,指定该用户的角色;步骤304:指定用户的角色后,给不同的角色定义git库中不同的权限。在该技术方案中,可以节省配置环境消耗的人力和时间成本,使项目从建立伊始便能够进行持续的集成。
[0037] 在上述技术方案中,优选地,如图4所示,步骤204,具体包括:步骤402:基于对不同角色定义的权限,创建项目信息,引入该项目能够使用的研发人力资源,对引入人员的角色根据项目需要进行调整;步骤404:基于调整后的角色,创建模块信息,根据录入信息自动生成git库的ssh串。在该技术方案中,只需项目经理手动输入项目信息,其他过程都是自动完成,配置管理员所做的工作被一键解决。
[0038] 在上述技术方案中,优选地,如图5所示,步骤206,具体包括:步骤502:在界面上输入项目信息,保存界面,并根据项目编码和配置服务器信息,自动在git服务器上创建配置库;步骤504:基于创建的配置库,根据项目参与人员及角色创建git库用户,根据项目上关联的jenkins模板创建jenkins任务。在该技术方案中,只需录入项目的基本信息,引入项目参与人员,系统就能自动为项目配置资源,搭建一套持续集成系统,大大节省软件开发项目在系统配置上花销的人力和时间成本。
[0039] 在上述技术方案中,优选地,步骤202指定的角色,包括产品经理、开发、测试;和/或,步骤204根据录入信息自动生成git库的ssh串的操作,进一步包括:将项目编码作为组名,将项目编码加模块编码作为库名,通过项目编码和模块编码保证git库ssh的唯一性;和/或,步骤502在界面上输入的项目信息,包括项目的唯一标识编码,参与项目的人员及其角色,项目引用的配置服务器信息;和/或,步骤504根据项目上关联的jenkins模板创建的jenkins任务,包括编译、白盒测试、打包、做盘和部署中的任意几个。
[0040] 本发明的技术方案,提供了一种自动生成软件开发项目的资源和配置的方法与装置,也是一种能自动为新建的软件开发项目组织资源及生成配置的方法与装置,使软件项目组成员从复杂耗时的资源配置工作中解放出来,更聚焦于业务逻辑处理。
[0041] 根据
现有技术存在的
缺陷,本发明的技术方案提出一种自动快捷的为软件开发项目组织资源及生成配置,包括自动配置资源版本控制服务器,自动配置代码编译、打包、生成安装盘、部署、测试等任务,节省了配置环境消耗的人力和时间成本,使项目从建立伊始便能够进行持续的集成。
[0042] 本发明的技术方案,运行原理是把研发组织信息和研发组织内的人员录入或导入到系统中,并指定人员在软件研发中的角色。在系统中新建软件开发项目时,引入研发人员信息,这样就会为新建的软件开发项目创建代码版本库,并把引入到项目的人员信息添加到版本库中,人员在版本库中的权限,根据项目中引入的人员的角色进行设定。同时根据创建的项目的上下文信息生成相应的任务,推送到任务调度引擎来自动调度。
[0043] 下面举例分步骤详细描述该方案,其中版本控制以git为例,任务调度引擎以jenkins为例来进行描述。
[0044] 第一步:把研发组织内的用户录入或导入到系统中(图6),并指定该用户的角色,典型的角色包括产品经理、开发、测试等,给不同的角色定义了git库中不同的权限。
[0045] 第二步:项目经理创建项目信息,引入该项目能够使用的研发人力资源,在此处可以对引入的人员的角色根据项目需要进行调整(图7公共项目组成员部分)。
[0046] 第三步:项目经理创建模块信息,系统根据录入信息自动生成git库的ssh串,其中项目编码作为组名,项目编码加模块编码作为库名,通过项目编码和模块编码保证git库ssh的唯一性(图7项目模块部分)。
[0047] 第四步:保存项目信息时驱动后台根据项目信息中定义的上下文信息,生成配置信息和任务,如图8所示。
[0048] 首先在界面上输入项目相关的信息,主要包括项目的唯一标识编码,参与项目的人员及其角色,项目引用的配置服务器信息等,当保存界面时,首先根据项目编码和配置服务器信息自动在git服务器上创建配置库,然后根据参与项目的人员及角色创建git库用户,最后根据项目上关联的jenkins模板创建jenkins任务,任务是可选的,可以包括持续集成典型任务(编译、白盒测试、打包、做盘、部署等)中的任意几个。
[0049] 上述步骤只需项目经理手动输入项目信息,其他过程都是自动完成,配置管理员所做的工作被一键解决。
[0050] 应用本发明的技术方案,项目经理只需录入项目的基本信息,引入项目参与人员,系统就能自动为项目配置资源,搭建一套持续集成系统,大大节省了软件开发项目在系统配置上花销的人力和时间成本,使项目人员把精力都投入到业务系统的开发中。
[0051] 以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对复杂类型资源和配置生成的解决办法。现有的资源和配置生成无法完成有复杂类型参与的资源和配置生成过程。因此,本发明提出了一种资源和配置的自动生成装置和一种资源和配置的自动生成方法,可以在现有的资源和配置生成方式基础上,充分利用单对象类型完成多对象类型的资源和配置生成,建立基于复杂类型的资源和配置的通用、统一生成思路。
[0052] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。