CN106095408A - 一种数据监控和代码自动生成与部署的***及方法 - Google Patents
一种数据监控和代码自动生成与部署的***及方法 Download PDFInfo
- Publication number
- CN106095408A CN106095408A CN201610378096.4A CN201610378096A CN106095408A CN 106095408 A CN106095408 A CN 106095408A CN 201610378096 A CN201610378096 A CN 201610378096A CN 106095408 A CN106095408 A CN 106095408A
- Authority
- CN
- China
- Prior art keywords
- code
- module
- data
- deployment
- jenkins
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据监控和代码自动生成与部署的***及方法,能够将持续集成子***分散的指标数据自动提取,集中显示,有效地把指标数据纳入监管,更好地实现一站式数据监控。能够自动生成新建模块的框架代码,有效地节约新建模块的框架搭建时间,增进效率,同时可以保证软件产品的框架代码的一致性,易于开发维护。进一步,自动化部署方法能够节约项目的人工部署时间,增进开发和测试效率,同时其中的Linux脚本模板能够帮助开发人员更容易地处理安装包的部署,以及配置文件或依赖文件的拷贝和执行。
Description
技术领域
本发明涉及一种数据监控和代码自动生成与部署的***及方法,尤其涉及持续集成平台的各子***的数据监控与软件开发代码自动生成框架与自动部署的***及方法。
背景技术
目前在软件开发领域,软件开发过程包括软件开发采用的方法和持续集成过程。其中敏捷方法被全球大型软件公司普遍采用,敏捷开发方法是指一系列的软件开发中的原则与方法,它以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,其特点是能够快速响应需求,细化软件功能。在敏捷开发方法中为了提高软件开发项目组的工作效率,减少软件开发中出现集成错误导致开发延误的风险,软件开发普遍会使用持续集成***(CI)来帮助开发项目组控制风险。
软件开发持续集成***包含的子***有代码版本控制与存储子***GitLab,代码编译子***jenkins,代码质量管理子***Sonar,软件安装包存储子***Nexus。这些子***一般由开源软件搭建而成,这就使得各个子***间通信和数据交换不够灵活,尤其是涉及软件重要衡量标准的数据独立存储于各个子***,这种数据不集中的情况极大影响数据的直观性,因为软件开发项目组和监管层必须依靠人工到各个子***查看和抄写数据,将数据汇总和手动存储。这种情况必然造成人力的浪费。
同时在软件开发过程中初始软件框架的搭建一般依赖技术熟练的软件架构师搭建,然后再把代码上传到代码版本控制与存储子***GitLab中,然后再到Jenkins中手动建立Job,这样就耗费很多人力工作。由此可以表明目前缺少自动生成代码框架然后自动与持续集成各个子***建立工作空间的方法。
进一步,在持续集成***中,自动部署功能配置较为复杂,同时如果涉及到复杂工程,例如涉及软件安装包(War包)加上配置文件再加上脚本、图片等其他依赖的文件的话,自动部署就需要用户编写复杂脚本来达到目的,从而导致浪费人力。并且持续集成***一般只能部署最近编译成功的项目安装包,而无法记录某个软件项目所有历史版本的安装包。
因此,在软件开发整体周期中需要解决的问题有:自动化地提取持续集成子***数据纳入监管,自动化生成软件开发代码框架,便利地实现自动部署,存储历史版本安装包用于管理或部署。
发明内容
本发明的目的在于针对现有技术的不足,提供一种数据监控和代码自动生成与部署的***及方法,目的是解决软件开发持续集成过程中数据无法集中显示,软件开发代码框架不能自动生成,自动部署功能难于配置且无法部署历史软件安装包的问题。
本发明的目的是通过以下技术方案来实现的:一种数据监控和代码自动生成与部署的***,该***包括:
(1)模块信息管理模块:对项目的各个模块信息进行管理,包括新建模块、编辑模块、删除模块;并对项目模块的属性进行管理,包括模块属性的新建、编辑、删除、查询。
(2)数据自动提取模块:自动提取持续集成***中各个子***数据;所述子***包括:代码版本控制与存储子***GitLab、代码编译子***Jenkins、代码质量管理子***Sonar。提取方式为从GitLab中得到代码提交数量和代码提交状态的访问地址,从Jenkins中得到代码编译健康状态,从Sonar得到代码质量评审RCI(规则符合度)分数。
(3)代码自动生成模块:在模块信息管理模块中如果有新建模块A,则利用本模块自动生成新建模块A的代码并上传代码。代码的自动生成具体为:选用软件的开发框架,生成代码编译工具Maven可解析的Archetype框架,然后用Maven命令来执行代码生成动作。代码的上传具体为:将生成的代码用GitLab接口上传到GitLab服务器中,并在代码编译子***Jenkins中创建编译任务Job,然后调用Jenkins编译构建功能,在构建完成后获取代码质量管理子***Sonar中新建模块A的代码质量报告地址。
(4)自动化部署模块:在Web前端建立自动化部署接口,用户通过接口编写部署步骤。部署步骤包含将安装包部署到目标机器的Tomcat容器中,拷贝配置文件和其他依赖文件到部署的目标机器中;其中,将安装包部署到目标机器的Tomcat容器中的实现方法为:把仓库中存储的软件安装包下载到本地,然后再利用Tomcat的远程部署Manage功能来把软件安装包部署到目标机器的Tomcat中;拷贝配置文件和其他依赖文件到部署的目标机器中的实现方法为:编写好Linux中的脚本模板,脚本模板中的内容包括以用户名和密码通过SSH登录目标机器B,拷贝文件A到目标机器B中,其中的文件A是配置文件或其他依赖文件。最后本模块将脚本模板封装到一个XML配置文件中,此XML文件的内容按照Jenkins中Job配置文件进行组织。封装完成后,本模块将调用Jenkins的更改配置文件的接口,将Jenkins中的Job配置文件进行更改,然后再执行Job的部署功能,最后实现项目模块的自动部署。
进一步地,该***还包括数据存储模块,该模块将数据自动提取模块提取的指标数据存储于数据库中。指标数据可采用(key,value)对方式存储。
进一步地,该***还包括数据显示和报表模块,该模块负责把数据自动提取模块获取的数据在web前端进行显示,同时提供报表生成和下载功能,方便管理人员获取报告和统计。
进一步地,该***还包括项目信息管理模块,此模块负责项目信息的管理,包括项目属性的新建、编辑、删除、查询功能。
进一步地,所述代码自动生成模块中采用的开发框架为:展示层使用基于HTML/CSS/JS的前端框架。接口层使用Apache Shiro+SpringMVC架构,并使用Velocity作为视图解析器。服务层选用EhCache来进行缓存管理,用Quatz来进行定时调度。持久层使用SpringData和Mybatis来进行持久存储。数据存储支持关系型数据库和NoSQL型数据库。
进一步地,所述自动化部署模块中,如果文件A的格式也是Linux脚本文件,那么脚本模板调用执行文件A。
进一步地,该***包括项目权限管理模块,在用户登录本***前,用户需要向***管理员申请项目权限,以便使用本***的各个模块。因此项目权限管理模块负责配置管理项目的编辑访问权限,权限控制方式为用角色标定访问权限,PM角色为项目经理,其权限可以访问和完全控制项目属性和模块属性。DEV角色为开发人员,QA角色为测试人员,DEV和QA的权限拥有访问但不能更改项目属性权限。
一种数据监控和代码自动生成与部署的方法,其特征在于,包括以下步骤:
(1)构建项目Maven Archetype框架。
(2)通过模块信息管理模块新建模块A,然后用代码自动生成模块对新建模块A进行代码自动化生成工作,包括以下子步骤:
(2.1)根据步骤1构建的Maven Archetype框架,通过代码编译工具Maven编译框架得到具体的代码。
(2.2)通过GitLab接口把代码上传到GitLab中存储,再通过Jenkins接口在Jenkins中建立编译任务Job,然后调用Jenkins编译构建功能,在构建完成后获取代码质量管理子***Sonar中新建模块A的代码质量报告地址。
(2.3)代码自动生成模块将新建模块A的GitLab存储地址和Jenkins Job地址以及Sonar中的代码质量报告地址存储于数据库中。
(3)通过数据自动提取模块提取数据。在数据库中查询通过步骤2存入的模块属性信息,得到模块的GitLab代码存储地址,Jenkins中对应的Job地址,Sonar中的代码质量报告地址。然后根据地址和各个子***数据提取接口分别提取得到GitLab中代码提交数量和代码提交状态的访问地址,Jenkins中的模块的Job的代码编译健康状态数据,Sonar中的代码质量评审RCI(规则符合度)分数。
(4)用户对项目模块进行代码开发,把新开发的代码更新到该模块所在的GitLab存储地址。
(5)项目模块所对应的Jenkins编译Job自动发现代码的更新,开始编译代码,编译完成后把安装包带上版本信息上传到Nexus中,形成历史软件安装包。
(6)通过自动化部署模块提供的Web前端自动化部署接口编写部署步骤,包括以下子步骤:
(6.1)将安装包部署到目标机器的Tomcat容器中:把步骤5中存储的历史软件安装包下载到本地,然后再利用Tomcat的远程部署Manage功能来把历史软件安装包部署到目标机器的Tomcat中。
(6.2)拷贝配置文件和其他依赖文件到部署的目标机器中:编写好Linux中的脚本模板,脚本模板中的内容包括:用户名和密码通过SSH登录目标机器B、拷贝文件A到目标机器B中;其中的文件A为配置文件或其他依赖文件。
(6.3)将脚本模板封装到一个XML配置文件中,此XML文件的内容按照Jenkins中Job配置文件进行组织。
(6.4)调用Jenkins的更改配置文件的接口,将Jenkins中的Job配置文件进行更改,然后再执行Job的部署功能,最终实现项目模块的自动部署。
进一步地,所述步骤1中,代码框架组成为:展示层使用基于HTML/CSS/JS的前端框架。接口层使用Apache Shiro+SpringMVC架构,并使用Velocity作为视图解析器。服务层选用EhCache来进行缓存管理,用Quatz来进行定时调度。持久层使用Spring Data和Mybatis来进行持久存储。数据存储支持关系型数据库和NoSQL型数据库。
进一步地,该方法还包括将步骤2所得数据存储于数据库中的步骤,存储方式采用(key,value)对方式存储,数据库采用MySQL,存储弹性可扩展。
本发明的有益效果是:能够将持续集成子***分散的指标数据自动提取,集中显示,有效地把指标数据纳入监管,更好地实现一站式数据监控。能够自动生成新建模块的框架代码,有效地节约新建模块的框架搭建时间,增进效率,同时可以保证软件产品的框架代码的一致性,易于开发维护。进一步,自动化部署方法能够节约项目的人工部署时间,增进开发和测试效率,同时其中的Linux脚本模板能够帮助开发人员更容易地处理安装包的部署,以及配置文件或依赖文件的拷贝和执行。
附图说明
图1是本发明一种基于持续集成的数据监控和代码自动生成与部署的***框架图。
图2是本发明数据监控方法示意图。
图3是本发明代码自动生成方法示意图。
图4是本发明自动化部署方法示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
实施例1:一种数据监控和代码自动生成与部署的***,此***的组成包括:
(1)数据自动提取模块,此模块为本发明主要模块之一,它的功能是自动提取持续集成***中各个子***数据。这些子***包括:代码版本控制与存储子***GitLab,代码编译子***Jenkins,代码质量管理子***Sonar。提取方式为用各子***接口来访问各个子***,分析获取的数据格式,从GitLab中得到代码提交数量和代码提交状态的访问地址,从Jenkins中得到代码编译健康状态,从Sonar得到代码质量评审RCI(规则符合度)分数。
(2)数据存储模块,此模块负责将数据自动提取模块提取的指标数据存储于MySQL数据库中。其中指标数据采用(key,value)对方式存储,存储特点是弹性可扩展。
(3)数据显示和报表模块,此模块负责把数据自动提取模块获取的数据在web前端进行显示,同时提供报表生成和下载功能,方便管理人员获取报告和统计。
(4)项目信息管理模块,此模块负责项目信息的管理,包括项目属性的新建、编辑、删除、查询功能。
(5)模块信息管理模块,此模块可以对项目的各个模块信息进行管理,包括新建模块,编辑模块,删除模块。进一步地,此模块还负责模块属性的新建、编辑、删除、查询功能。
(6)代码自动生成模块,此模块为本发明主要模块之一,负责自动生成新建模块的框架代码,在模块信息管理模块中如果有新建模块A,则可以利用本模块来做A的代码自动生成工作,所谓代码自动生成就是选用软件的开发框架,生成代码编译工具Maven可解析的Archetype框架,然后用Maven命令来执行代码生成动作。本发明采用的开发框架为:展示层使用基于HTML/CSS/JS的前端框架。接口层使用Apache Shiro+SpringMVC架构,并使用Velocity作为视图解析器。服务层选用EhCache来进行缓存管理,用Quatz来进行定时调度。持久层使用Spring Data和Mybatis来进行持久存储。数据存储支持关系型数据库和NoSQL型数据库。代码自动生成模块还负责将生成的代码用GitLab接口上传到GitLab服务器中,并在代码编译子***Jenkins中创建编译任务Job,然后调用Jenkins编译构建功能,在构建完成后获取代码质量管理子***Sonar中新建模块A的代码质量报告地址,最后代码自动生成模块将把新建模块A的GitLab存储地址和Jenkins Job地址以及Sonar中的代码质量报告地址以邮件的方式发送给项目管理员。
(7)自动化部署模块,此模块为本发明主要模块之一,此模块功能是自动化部署软件安装包。实现的方法是在Web前端建立自动化部署接口,用户可以通过接口方便地编写部署步骤。部署步骤包含将安装包部署到目标机器的Tomcat容器中,拷贝配置文件和其他依赖文件到部署的目标机器中;其中,将安装包部署到目标机器的Tomcat容器中的实现方法为:把Nexus仓库中存储的软件安装包(War包)下载到本地,然后再利用Tomcat的远程部署Manage功能来把War包部署到目标机器的Tomcat中;拷贝配置文件和其他依赖文件到部署的目标机器中的实现方法为:编写好Linux中的expect脚本模板,脚本模板中的内容包括以用户名和密码通过SSH登录目标机器B,拷贝文件A到目标机器B中,其中的文件A是配置文件或其他依赖文件,如果文件A的格式也是Linux脚本文件,那么脚本模板还具有调用执行文件A的功能。最后本模块将expect脚本模板封装到一个XML配置文件中,此XML文件的内容按照Jenkins中Job配置文件进行组织。封装完成后,本模块将调用Jenkins的更改配置文件的接口,将Jenkins中的Job配置文件进行更改,然后再执行Job的部署功能,最后实现项目模块的自动部署。
(8)项目权限管理模块,在用户登录本***前,用户需要向***管理员申请项目权限,以便使用本***的各个模块。因此项目权限管理模块负责配置管理项目的编辑访问权限,权限控制方式为用角色标定访问权限,PM角色为项目经理,其权限可以访问和完全控制项目属性和模块属性。DEV角色为开发人员,QA角色为测试人员,DEV和QA的权限拥有访问但不能更改项目属性权限。
应用上述***的数据监控和代码自动生成与部署的方法,包括以下步骤:
(1)构建项目Maven Archetype框架。此框架按照Maven Archetype框架标准格式编写,选用的代码具体框架组成为:展示层使用基于HTML/CSS/JS的前端框架。接口层使用Apache Shiro+SpringMVC架构,并使用Velocity作为视图解析器。服务层选用EhCache来进行缓存管理,用Quatz来进行定时调度。持久层使用Spring Data和Mybatis来进行持久存储。数据存储支持关系型数据库和NoSQL型数据库。
(2)通过模块信息管理模块新建模块A,然后用代码自动生成模块对新建模块A进行代码自动化生成工作,包括以下子步骤:
(2.1)填写模块名称,ID号,选用步骤1所得到的Maven Archetype框架,通过代码编译工具Maven编译框架得到具体的代码。
(2.2)通过GitLab接口把代码上传到GitLab中存储,再通过Jenkins接口在Jenkins中建立编译任务Job,然后调用Jenkins编译构建功能,在构建完成后获取代码质量管理子***Sonar中新建模块A的代码质量报告地址。
(2.3)代码自动生成模块将把新建模块A的GitLab存储地址和Jenkins Job地址以及Sonar中的代码质量报告地址存储于数据库中,之后以发送邮件的方式通知项目管理员。
(3)通过数据自动提取模块提取数据。在数据库中查询模块属性信息,此属性信息是通过步骤2存入数据库中的。查询之后,得到模块的GitLab代码存储地址,Jenkins中对应的Job地址,Sonar中的代码质量报告地址。然后根据地址和各个子***数据提取接口分别提取得到GitLab中代码提交数量和代码提交状态的访问地址,Jenkins中的模块的Job的代码编译健康状态数据,Sonar中的代码质量评审RCI(规则符合度)分数。
(4)通过数据存储模块将步骤2所得数据存储于数据库中,其中存储方式采用(key,value)对方式存储,数据库采用MySQL,存储特点是弹性可扩展。
(5)通过数据显示和报表模块在Web前端显示步骤3中存储的数据,同时提供下载报表功能。
(6)用户对项目模块进行代码开发。开发达到一定时间段,可以是一天也可以是一小时,之后用户把新开发的代码更新到该模块所在的GitLab存储地址。
(7)步骤6中项目模块所对应的Jenkins编译Job自动发现代码的更新,开始编译代码,编译完成后把安装包(War包)带上版本信息上传到Nexus中,形成历史软件安装包,供步骤8的自动化部署使用。
(8)通过自动化部署模块提供的Web前端自动化部署接口编写部署步骤。部署步骤包含将安装包部署到目标机器的Tomcat容器中,拷贝配置文件和其他依赖文件到部署的目标机器中,其中,将安装包部署到目标机器的Tomcat容器中的实现方法为:把步骤7中存储的历史软件安装包(War包)下载到本地,然后再利用Tomcat的远程部署Manage功能来把War包部署到目标机器的Tomcat中。拷贝配置文件和其他依赖文件到部署的目标机器中的实现方法为:编写好Linux中的expect脚本模板,脚本模板中的内容包括1、用户名和密码通过SSH登录目标机器B。2、拷贝文件A到目标机器B中,其中的文件A为配置文件或其他依赖文件。3、如果文件A也是一个Linux脚本文件,那么脚本模板还具有调用执行文件A的功能。最后本模块将expect脚本模板封装到一个XML配置文件中,此XML文件的内容按照Jenkins中Job配置文件进行组织。封装完后,本模块将调用Jenkins的更改配置文件的接口,将Jenkins中的Job配置文件进行更改,然后再执行Job的部署功能,最后实现项目模块的自动部署。
实施例2:如图1所示,一种基于持续集成的数据监控和代码自动生成与部署的***,包括:
数据自动提取模块,此模块与持续集成***三个子***相连,它的功能是自动提取持续集成***中各个子***数据。在图1中,数据自动提取模块从图右侧所示的持续集成***的三个子***:GitLab,Jenkins,Sonar中自动提取数据。
数据存储模块,此模块把数据自动提取模块提取到的指标数据存储于MySQL数据库中。其中指标数据采用(key,value)对方式存储,存储特点是弹性可扩展。
数据显示和报表模块,此模块负责把数据存储模块所存储数据在web前端进行显示,同时提供报表生成和下载功能,方便管理人员获取报告和统计。
项目信息管理模块,此模块负责项目信息的管理,包括项目属性的新建、编辑、删除、查询功能。
模块信息管理模块,此模块可以对项目的各个模块信息进行管理,包括新建模块,编辑模块,删除模块。进一步地,此模块还负责模块具体属性的新建、编辑、删除、查询功能。
代码自动生成模块,与图1中的GitLab和Jenkins相联系,负责自动生成新建模块的框架代码。然后把框架代码上传到GitLab中,再通过Jenkins接口,在Jenkins中创建编译任务Job,然后调用Jenkins编译构建功能,得到Sonar代码质量报告地址。
自动化部署模块,此模块功能是自动化部署软件安装包。此模块与软件安装包存储子***Nexus和代码编译子***Jenkins相连。此模块把图中Nexus存储的历史软件安装包(War包)下载到本地,然后再利用Tomcat的远程部署Manage功能来把War包部署到目标机器的Tomcat中。然后此模块还提供编写好的Linux中的expect脚本模板给用户填写,之后再把脚本模板封装到XML文件中,用于更新图1中的Jenkins中的Job配置,然后再执行Job的触发功能,最后实现自动化部署功能。
项目权限管理模块,在用户登录本***前,用户需要向***管理员申请项目权限,以便使用本***的各个模块。
如图2中所示,本发明的数据监控方法如下:
持续集成***的各个子***和本发明的数据获取模块和解析模块共同使用一样的JSON数据格式,根据各个子***的数据访问接口,以定时任务方式自动提取各个子***的数据,之后进入数据解析得到指标数据:GitLab中的代码提交数量,代码提交状态的访问地址,Jenkins中的代码编译健康状态,Sonar中的代码质量评审RCI(规则符合度)分数。然后,将数据整理后按(key,value)成对地存入MySQL数据库***,最后Web前端从数据库中得到数据,将数据显示给用户。
如图3中所示,本发明的代码自动生成方法具体步骤如下:
(1)在前面所述***的模块信息管理模块中新建模块A,然后编按照图3左侧框中示意图搭建Maven Archetype框架,此框架采用的技术架构层次为:展示层使用基于HTML/CSS/JS的前端框架。接口层使用Apache Shiro+SpringMVC架构,并使用Velocity作为视图解析器。服务层选用EhCache来进行缓存管理,用Quatz来进行定时调度。持久层使用SpringData和Mybatis来进行持久存储。数据存储支持关系型数据库和NoSQL型数据库。
(2)当Maven Archetype框架搭建好后,通过本发明的代码自动生成模块来自动生成代码。过程是:首先用Maven编译图3左侧的Maven Archetype框架,在服务器本地得到框架代码。
(3)通过GitLab接口把框架代码上传到GitLab中存储,再通过Jenkins接口在Jenkins中建立编译任务Job,然后调用Jenkins编译构建功能,在构建完成后获取代码质量管理子***Sonar中新建模块A的代码质量报告地址。
(4)代码自动生成模块将新建模块A的GitLab存储地址和Jenkins Job地址以及Sonar中的代码质量报告地址存储于数据库中,再发送邮件通知项目模块管理员。
如图4所示,本发明的自动化部署方法具体实施过程包含:
(1)代码开发,用户对项目模块进行代码开发,把新开发的代码更新到该模块所在的GitLab存储地址。
(2)项目模块所对应的Jenkins编译Job自动发现代码的更新,开始编译代码,编译完成后把安装包带上版本信息上传到Nexus中,形成历史软件安装包。
(3)通过自动化部署模块提供的Web前端自动化部署接口编写部署步骤,包括以下子步骤:
(3.1)图4中的Nexus仓库存储着诸多模块的历史版本软件安装包,自动化部署模块把这些历史安装包信息取出,显示给用户,用户选择好某个软件安装包后由自动化部署模块下载到本地,然后再利用Tomcat的远程部署Manage功能来把War包部署到目标机器的Tomcat容器中。
(3.2)通过Web接口编写Linux中的expect脚本模板,脚本模板包括以下内容:SSH登录、拷贝文件、执行脚本。所述SSH登录是以用户名和密码通过SSH登录目标机器,所述拷贝文件是拷贝配置文件和其他依赖文件到部署的目标机器中,如果拷贝的文件中包含Linux脚本文件,所述执行脚本内容可调用执行该文件的功能。
(3.3)将脚本模板封装到一个XML配置文件中,此XML文件的内容按照Jenkins中Job配置文件进行组织。
(3.4)调用Jenkins的更改配置文件的接口,将Jenkins中的Job配置文件进行更改,然后再执行Job的部署功能,最终实现项目模块的自动部署。
Claims (10)
1.一种数据监控和代码自动生成与部署的***,其特征在于,该***包括:
(1)模块信息管理模块:对项目的各个模块信息进行管理,包括新建模块、编辑模块、删除模块;并对项目模块的属性进行管理,包括模块属性的新建、编辑、删除、查询。
(2)数据自动提取模块:自动提取持续集成***中各个子***数据;所述子***包括:代码版本控制与存储子***GitLab、代码编译子***Jenkins、代码质量管理子***Sonar。提取方式为从GitLab中得到代码提交数量和代码提交状态的访问地址,从Jenkins中得到代码编译健康状态,从Sonar得到代码质量评审RCI(规则符合度)分数。
(3)代码自动生成模块:在模块信息管理模块中如果有新建模块A,则利用本模块自动生成新建模块A的代码并上传代码。代码的自动生成具体为:选用软件的开发框架,生成代码编译工具Maven可解析的Archetype框架,然后用Maven命令来执行代码生成动作。代码的上传具体为:将生成的代码用GitLab接口上传到GitLab服务器中,并在代码编译子***Jenkins中创建编译任务Job,然后调用Jenkins编译构建功能,在构建完成后获取代码质量管理子***Sonar中新建模块A的代码质量报告地址。
(4)自动化部署模块:在Web前端建立自动化部署接口,用户通过接口编写部署步骤。部署步骤包含将安装包部署到目标机器的Tomcat容器中,拷贝配置文件和其他依赖文件到部署的目标机器中;其中,将安装包部署到目标机器的Tomcat容器中的实现方法为:把仓库中存储的软件安装包下载到本地,然后再利用Tomcat的远程部署Manage功能来把软件安装包部署到目标机器的Tomcat中;拷贝配置文件和其他依赖文件到部署的目标机器中的实现方法为:编写好Linux中的脚本模板,脚本模板中的内容包括以用户名和密码通过SSH登录目标机器B,拷贝文件A到目标机器B中,其中的文件A是配置文件或其他依赖文件。最后本模块将脚本模板封装到一个XML配置文件中,此XML文件的内容按照Jenkins中Job配置文件进行组织。封装完成后,本模块将调用Jenkins的更改配置文件的接口,将Jenkins中的Job配置文件进行更改,然后再执行Job的部署功能,最后实现项目模块的自动部署。
2.根据权利要求1所述的一种数据监控和代码自动生成与部署的***,其特征在于,该***还包括数据存储模块,该模块将数据自动提取模块提取的指标数据存储于数据库中。指标数据可采用(key,value)对方式存储。
3.根据权利要求1所述的一种数据监控和代码自动生成与部署的***,其特征在于,该***还包括数据显示和报表模块,该模块负责把数据自动提取模块获取的数据在web前端进行显示,同时提供报表生成和下载功能,方便管理人员获取报告和统计。
4.根据权利要求1所述的一种数据监控和代码自动生成与部署的***,其特征在于,该***还包括项目信息管理模块,此模块负责项目信息的管理,包括项目属性的新建、编辑、删除、查询功能。
5.根据权利要求1所述的一种数据监控和代码自动生成与部署的***,其特征在于,所述代码自动生成模块中采用的开发框架为:展示层使用基于
HTML/CSS/JS的前端框架。接口层使用Apache Shiro+SpringMVC架构,并使用Velocity作为视图解析器。服务层选用EhCache来进行缓存管理,用Quatz来进行定时调度。持久层使用Spring Data和Mybatis来进行持久存储。数据存储支持关系型数据库和NoSQL型数据库。
6.根据权利要求1所述的一种数据监控和代码自动生成与部署的***,其特征在于,所述自动化部署模块中,如果文件A的格式也是Linux脚本文件,那么脚本模板调用执行文件A。
7.根据权利要求1所述的一种数据监控和代码自动生成与部署的***,其特征在于,该***包括项目权限管理模块,在用户登录本***前,用户需要向***管理员申请项目权限,以便使用本***的各个模块。因此项目权限管理模块负责配置管理项目的编辑访问权限,权限控制方式为用角色标定访问权限,PM角色为项目经理,其权限可以访问和完全控制项目属性和模块属性。DEV角色为开发人员,QA角色为测试人员,DEV和QA的权限拥有访问但不能更改项目属性权限。
8.一种应用权利要求1所述***的数据监控和代码自动生成与部署的方法,其特征在于,包括以下步骤:
(1)构建项目Maven Archetype框架。
(2)通过模块信息管理模块新建模块A,然后用代码自动生成模块对新建模块A进行代码自动化生成工作,包括以下子步骤:
(2.1)根据步骤1构建的Maven Archetype框架,通过代码编译工具Maven编译框架得到具体的代码。
(2.2)通过GitLab接口把代码上传到GitLab中存储,再通过Jenkins接口在Jenkins中建立编译任务Job,然后调用Jenkins编译构建功能,在构建完成后获取代码质量管理子***Sonar中新建模块A的代码质量报告地址。
(2.3)代码自动生成模块将新建模块A的GitLab存储地址和Jenkins Job地址以及Sonar中的代码质量报告地址存储于数据库中。
(3)通过数据自动提取模块提取数据。在数据库中查询通过步骤2存入的模块属性信息,得到模块的GitLab代码存储地址,Jenkins中对应的Job地址,Sonar中的代码质量报告地址。然后根据地址和各个子***数据提取接口分别提取得到GitLab中代码提交数量和代码提交状态的访问地址,Jenkins中的模块的Job的代码编译健康状态数据,Sonar中的代码质量评审RCI(规则符合度)分数。
(4)用户对项目模块进行代码开发,把新开发的代码更新到该模块所在的GitLab存储地址。
(5)项目模块所对应的Jenkins编译Job自动发现代码的更新,开始编译代码,编译完成后把安装包带上版本信息上传到Nexus中,形成历史软件安装包。
(6)通过自动化部署模块提供的Web前端自动化部署接口编写部署步骤,包括以下子步骤:
(6.1)将安装包部署到目标机器的Tomcat容器中:把步骤5中存储的历史软件安装包下载到本地,然后再利用Tomcat的远程部署Manage功能来把历史软件安装包部署到目标机器的Tomcat中。
(6.2)拷贝配置文件和其他依赖文件到部署的目标机器中:编写好Linux中的脚本模板,脚本模板中的内容包括:用户名和密码通过SSH登录目标机器B、拷贝文件A到目标机器B中;其中的文件A为配置文件或其他依赖文件。
(6.3)将脚本模板封装到一个XML配置文件中,此XML文件的内容按照Jenkins中Job配置文件进行组织。
(6.4)调用Jenkins的更改配置文件的接口,将Jenkins中的Job配置文件进行更改,然后再执行Job的部署功能,最终实现项目模块的自动部署。
9.根据权利要求8所述的方法,其特征在于,所述步骤1中,代码框架组成为:展示层使用基于HTML/CSS/JS的前端框架。接口层使用Apache Shiro+SpringMVC架构,并使用Velocity作为视图解析器。服务层选用EhCache来进行缓存管理,用Quatz来进行定时调度。持久层使用Spring Data和Mybatis来进行持久存储。数据存储支持关系型数据库和NoSQL型数据库。
10.根据权利要求8所述的方法,其特征在于,该方法还包括将步骤2所得数据存储于数据库中的步骤,存储方式采用(key,value)对方式存储,数据库采用MySQL,存储弹性可扩展。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610378096.4A CN106095408B (zh) | 2016-05-31 | 2016-05-31 | 一种数据监控和代码自动生成与部署的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610378096.4A CN106095408B (zh) | 2016-05-31 | 2016-05-31 | 一种数据监控和代码自动生成与部署的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095408A true CN106095408A (zh) | 2016-11-09 |
CN106095408B CN106095408B (zh) | 2019-05-14 |
Family
ID=57229738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610378096.4A Active CN106095408B (zh) | 2016-05-31 | 2016-05-31 | 一种数据监控和代码自动生成与部署的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095408B (zh) |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843936A (zh) * | 2016-12-29 | 2017-06-13 | 北京航天测控技术有限公司 | 一种自动化部署Web应用环境的方法 |
CN106897226A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种持续集成测试的方法以及装置 |
CN106997297A (zh) * | 2017-03-31 | 2017-08-01 | 广东亿迅科技有限公司 | 一种基于DevOps的软件开发管理平台及方法 |
CN107273140A (zh) * | 2017-07-06 | 2017-10-20 | 武汉斗鱼网络科技有限公司 | 脚手架管理方法、装置及电子设备 |
CN107273117A (zh) * | 2017-05-25 | 2017-10-20 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成*** |
CN107291448A (zh) * | 2017-05-19 | 2017-10-24 | 上海瀚乾信息技术服务有限公司 | 一种软件开发项目管理*** |
CN107291450A (zh) * | 2017-05-25 | 2017-10-24 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成方法 |
CN107391213A (zh) * | 2017-08-29 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种存储设备***升级的方法、装置及一种升级*** |
CN107480050A (zh) * | 2017-07-17 | 2017-12-15 | 上海爱数信息技术股份有限公司 | 一种自动测试更新包的测试方法 |
CN107515766A (zh) * | 2017-08-24 | 2017-12-26 | 北京锐安科技有限公司 | 数据库部署文件的生成方法、部署安装方法及装置 |
CN107608710A (zh) * | 2017-08-31 | 2018-01-19 | 华为技术有限公司 | 基于Jenkins工具的软件项目构建任务配置方法及装置 |
CN108108169A (zh) * | 2017-12-27 | 2018-06-01 | 广东小天才科技有限公司 | 一种基于Jenkins的多分支的构建方法及*** |
CN108122090A (zh) * | 2016-11-30 | 2018-06-05 | 北京国双科技有限公司 | 一种办公信息处理方法及服务器 |
CN108234167A (zh) * | 2016-12-15 | 2018-06-29 | 中国电子科技集团公司电子科学研究院 | 网管北向接口适配中间件自动生成方法及装置 |
CN108241493A (zh) * | 2018-01-09 | 2018-07-03 | 政采云有限公司 | 分布式软件***的自动化持续集成与交付方法、装置和*** |
CN108521428A (zh) * | 2018-04-20 | 2018-09-11 | 武汉极意网络科技有限公司 | 一种基于jenkins的公网防爬虫的实现方法及*** |
CN108572912A (zh) * | 2017-09-22 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种持续集成方法、装置、电子设备及存储介质 |
US10095511B1 (en) | 2017-02-23 | 2018-10-09 | Amdocs Development Limited | System, method, and computer program for converting a current Java project to a Maven project |
CN108733380A (zh) * | 2017-04-21 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 应用部署方法和装置 |
CN108763042A (zh) * | 2018-05-24 | 2018-11-06 | 广东睿江云计算股份有限公司 | 一种基于python的云服务器性能数据采集方法及装置 |
CN108829378A (zh) * | 2018-05-24 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种应用软件的开发方法、装置及电子设备 |
CN109002307A (zh) * | 2018-06-27 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种自动升级及自动化测试方法 |
CN109144843A (zh) * | 2017-06-27 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 测试环境部署的方法和装置 |
CN109240669A (zh) * | 2018-10-26 | 2019-01-18 | 苏州浪潮智能软件有限公司 | 一种自动化集成部署软件开发模式 |
CN109582315A (zh) * | 2018-10-26 | 2019-04-05 | 北京百度网讯科技有限公司 | 服务私有化方法、装置、计算机设备及存储介质 |
CN109614085A (zh) * | 2018-10-23 | 2019-04-12 | 深圳微迅信息科技有限公司 | 功能实现方法、装置、计算机设备及存储介质 |
CN110321113A (zh) * | 2019-07-09 | 2019-10-11 | 苏宁消费金融有限公司 | 以项目批次为标准的一体化流水线***及其工作方法 |
CN110377274A (zh) * | 2019-07-08 | 2019-10-25 | 紫光云技术有限公司 | 基于Single-Spa的微前端架构***及开发、部署方法 |
CN110413484A (zh) * | 2019-08-02 | 2019-11-05 | 西安微电子技术研究所 | 一种支持异构平台的集群监控方法 |
CN110769026A (zh) * | 2019-09-09 | 2020-02-07 | 河南拓普计算机网络工程有限公司 | 分布式互联网信息采集***及方法 |
CN110795080A (zh) * | 2019-10-21 | 2020-02-14 | 山东舜知信息科技有限公司 | 一种基于数据库注释的代码自动生成***及构建方法 |
CN111158744A (zh) * | 2019-12-30 | 2020-05-15 | 中国银行股份有限公司 | 跨平台异构数据的整合方法及装置 |
CN111190586A (zh) * | 2019-12-16 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 软件开发框架的搭建及使用方法、计算设备和存储介质 |
CN111258561A (zh) * | 2020-01-10 | 2020-06-09 | 北京慧博科技有限公司 | 一种软件自动化编译部署启动监控的方法 |
CN111506315A (zh) * | 2019-01-31 | 2020-08-07 | 广州数控网络科技有限公司 | 一种柔性数字控制的代码部署方法、及数字控制平台 |
CN112507378A (zh) * | 2020-12-08 | 2021-03-16 | 广东荣文科技集团有限公司 | 数据处理方法、电子设备及相关产品 |
CN113760302A (zh) * | 2021-09-09 | 2021-12-07 | 四川虹美智能科技有限公司 | 基于Jenkins的UI包部署方法及*** |
CN113778501A (zh) * | 2020-06-22 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种代码任务处理方法和装置 |
CN114756454A (zh) * | 2022-03-29 | 2022-07-15 | 润芯微科技(江苏)有限公司 | 一种嵌入式软件开发的代码管理、持续集成和交付的工作方法及*** |
US20220236982A1 (en) * | 2019-05-31 | 2022-07-28 | Connectfree Corporation | Software development device and software development program |
CN115002598A (zh) * | 2022-05-26 | 2022-09-02 | 歌尔股份有限公司 | 耳机模式控制方法、耳机设备、头戴式设备及存储介质 |
CN116737174A (zh) * | 2023-08-15 | 2023-09-12 | 中国兵器装备集团兵器装备研究所 | 一种基于开源鸿蒙***的子***自动生成工具及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234283A1 (en) * | 2002-02-06 | 2007-10-04 | Jamdat Mobile Inc. | Automatic code generation for applications which run on common platforms |
CN101876893A (zh) * | 2009-04-28 | 2010-11-03 | 上海亿客网络科技有限公司 | Web项目代码自动生成的方法 |
CN103324470A (zh) * | 2012-03-21 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 一种Web***生成的方法和装置 |
CN103345406A (zh) * | 2013-06-21 | 2013-10-09 | 中国科学院深圳先进技术研究院 | 一种实现智能移动终端的云端虚拟移动终端的***和方法 |
US20150012476A1 (en) * | 2013-07-05 | 2015-01-08 | Oracle International Corporation | Load plan generation |
CN104915774A (zh) * | 2015-06-05 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种基于svn日志分析与项目管理软件结合的方法 |
-
2016
- 2016-05-31 CN CN201610378096.4A patent/CN106095408B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234283A1 (en) * | 2002-02-06 | 2007-10-04 | Jamdat Mobile Inc. | Automatic code generation for applications which run on common platforms |
CN101876893A (zh) * | 2009-04-28 | 2010-11-03 | 上海亿客网络科技有限公司 | Web项目代码自动生成的方法 |
CN103324470A (zh) * | 2012-03-21 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 一种Web***生成的方法和装置 |
CN103345406A (zh) * | 2013-06-21 | 2013-10-09 | 中国科学院深圳先进技术研究院 | 一种实现智能移动终端的云端虚拟移动终端的***和方法 |
US20150012476A1 (en) * | 2013-07-05 | 2015-01-08 | Oracle International Corporation | Load plan generation |
CN104915774A (zh) * | 2015-06-05 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种基于svn日志分析与项目管理软件结合的方法 |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108122090A (zh) * | 2016-11-30 | 2018-06-05 | 北京国双科技有限公司 | 一种办公信息处理方法及服务器 |
CN108234167B (zh) * | 2016-12-15 | 2021-03-16 | 中国电子科技集团公司电子科学研究院 | 网管北向接口适配中间件自动生成方法及装置 |
CN108234167A (zh) * | 2016-12-15 | 2018-06-29 | 中国电子科技集团公司电子科学研究院 | 网管北向接口适配中间件自动生成方法及装置 |
CN106843936A (zh) * | 2016-12-29 | 2017-06-13 | 北京航天测控技术有限公司 | 一种自动化部署Web应用环境的方法 |
CN106843936B (zh) * | 2016-12-29 | 2019-12-10 | 北京航天测控技术有限公司 | 一种自动化部署Web应用环境的方法 |
US10095511B1 (en) | 2017-02-23 | 2018-10-09 | Amdocs Development Limited | System, method, and computer program for converting a current Java project to a Maven project |
CN106897226A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种持续集成测试的方法以及装置 |
CN106997297A (zh) * | 2017-03-31 | 2017-08-01 | 广东亿迅科技有限公司 | 一种基于DevOps的软件开发管理平台及方法 |
CN108733380A (zh) * | 2017-04-21 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 应用部署方法和装置 |
CN107291448A (zh) * | 2017-05-19 | 2017-10-24 | 上海瀚乾信息技术服务有限公司 | 一种软件开发项目管理*** |
CN107291450A (zh) * | 2017-05-25 | 2017-10-24 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成方法 |
CN107273117A (zh) * | 2017-05-25 | 2017-10-20 | 深圳市彬讯科技有限公司 | 一种编程友好型的敏捷代码自动生成*** |
CN109144843A (zh) * | 2017-06-27 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 测试环境部署的方法和装置 |
CN109144843B (zh) * | 2017-06-27 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 测试环境部署的方法和装置 |
CN107273140B (zh) * | 2017-07-06 | 2018-09-21 | 武汉斗鱼网络科技有限公司 | 脚手架管理方法、装置及电子设备 |
CN107273140A (zh) * | 2017-07-06 | 2017-10-20 | 武汉斗鱼网络科技有限公司 | 脚手架管理方法、装置及电子设备 |
CN107480050A (zh) * | 2017-07-17 | 2017-12-15 | 上海爱数信息技术股份有限公司 | 一种自动测试更新包的测试方法 |
CN107515766A (zh) * | 2017-08-24 | 2017-12-26 | 北京锐安科技有限公司 | 数据库部署文件的生成方法、部署安装方法及装置 |
CN107391213A (zh) * | 2017-08-29 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种存储设备***升级的方法、装置及一种升级*** |
CN107608710A (zh) * | 2017-08-31 | 2018-01-19 | 华为技术有限公司 | 基于Jenkins工具的软件项目构建任务配置方法及装置 |
CN108572912A (zh) * | 2017-09-22 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种持续集成方法、装置、电子设备及存储介质 |
CN108108169A (zh) * | 2017-12-27 | 2018-06-01 | 广东小天才科技有限公司 | 一种基于Jenkins的多分支的构建方法及*** |
CN108241493A (zh) * | 2018-01-09 | 2018-07-03 | 政采云有限公司 | 分布式软件***的自动化持续集成与交付方法、装置和*** |
CN108521428A (zh) * | 2018-04-20 | 2018-09-11 | 武汉极意网络科技有限公司 | 一种基于jenkins的公网防爬虫的实现方法及*** |
CN108521428B (zh) * | 2018-04-20 | 2020-09-01 | 武汉极意网络科技有限公司 | 一种基于jenkins的公网防爬虫的实现方法及*** |
CN108829378A (zh) * | 2018-05-24 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种应用软件的开发方法、装置及电子设备 |
CN108763042A (zh) * | 2018-05-24 | 2018-11-06 | 广东睿江云计算股份有限公司 | 一种基于python的云服务器性能数据采集方法及装置 |
CN109002307A (zh) * | 2018-06-27 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种自动升级及自动化测试方法 |
CN109614085A (zh) * | 2018-10-23 | 2019-04-12 | 深圳微迅信息科技有限公司 | 功能实现方法、装置、计算机设备及存储介质 |
CN109582315A (zh) * | 2018-10-26 | 2019-04-05 | 北京百度网讯科技有限公司 | 服务私有化方法、装置、计算机设备及存储介质 |
CN109240669A (zh) * | 2018-10-26 | 2019-01-18 | 苏州浪潮智能软件有限公司 | 一种自动化集成部署软件开发模式 |
CN111506315A (zh) * | 2019-01-31 | 2020-08-07 | 广州数控网络科技有限公司 | 一种柔性数字控制的代码部署方法、及数字控制平台 |
US20220236982A1 (en) * | 2019-05-31 | 2022-07-28 | Connectfree Corporation | Software development device and software development program |
CN110377274A (zh) * | 2019-07-08 | 2019-10-25 | 紫光云技术有限公司 | 基于Single-Spa的微前端架构***及开发、部署方法 |
CN110377274B (zh) * | 2019-07-08 | 2023-05-05 | 紫光云技术有限公司 | 基于Single-Spa的微前端架构***及开发、部署方法 |
CN110321113B (zh) * | 2019-07-09 | 2022-08-02 | 苏宁消费金融有限公司 | 以项目批次为标准的一体化流水线***及其工作方法 |
CN110321113A (zh) * | 2019-07-09 | 2019-10-11 | 苏宁消费金融有限公司 | 以项目批次为标准的一体化流水线***及其工作方法 |
CN110413484B (zh) * | 2019-08-02 | 2023-01-31 | 西安微电子技术研究所 | 一种支持异构平台的集群监控方法 |
CN110413484A (zh) * | 2019-08-02 | 2019-11-05 | 西安微电子技术研究所 | 一种支持异构平台的集群监控方法 |
CN110769026A (zh) * | 2019-09-09 | 2020-02-07 | 河南拓普计算机网络工程有限公司 | 分布式互联网信息采集***及方法 |
CN110795080A (zh) * | 2019-10-21 | 2020-02-14 | 山东舜知信息科技有限公司 | 一种基于数据库注释的代码自动生成***及构建方法 |
CN111190586A (zh) * | 2019-12-16 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 软件开发框架的搭建及使用方法、计算设备和存储介质 |
CN111158744A (zh) * | 2019-12-30 | 2020-05-15 | 中国银行股份有限公司 | 跨平台异构数据的整合方法及装置 |
CN111158744B (zh) * | 2019-12-30 | 2024-02-23 | 中国银行股份有限公司 | 跨平台异构数据的整合方法及装置 |
CN111258561A (zh) * | 2020-01-10 | 2020-06-09 | 北京慧博科技有限公司 | 一种软件自动化编译部署启动监控的方法 |
CN113778501A (zh) * | 2020-06-22 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种代码任务处理方法和装置 |
CN113778501B (zh) * | 2020-06-22 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 一种代码任务处理方法和装置 |
CN112507378A (zh) * | 2020-12-08 | 2021-03-16 | 广东荣文科技集团有限公司 | 数据处理方法、电子设备及相关产品 |
CN113760302A (zh) * | 2021-09-09 | 2021-12-07 | 四川虹美智能科技有限公司 | 基于Jenkins的UI包部署方法及*** |
CN113760302B (zh) * | 2021-09-09 | 2023-04-07 | 四川虹美智能科技有限公司 | 基于Jenkins的UI包部署方法及*** |
CN114756454A (zh) * | 2022-03-29 | 2022-07-15 | 润芯微科技(江苏)有限公司 | 一种嵌入式软件开发的代码管理、持续集成和交付的工作方法及*** |
CN115002598A (zh) * | 2022-05-26 | 2022-09-02 | 歌尔股份有限公司 | 耳机模式控制方法、耳机设备、头戴式设备及存储介质 |
CN115002598B (zh) * | 2022-05-26 | 2024-02-13 | 歌尔股份有限公司 | 耳机模式控制方法、耳机设备、头戴式设备及存储介质 |
CN116737174B (zh) * | 2023-08-15 | 2023-11-14 | 中国兵器装备集团兵器装备研究所 | 一种基于开源鸿蒙***的子***自动生成工具及方法 |
CN116737174A (zh) * | 2023-08-15 | 2023-09-12 | 中国兵器装备集团兵器装备研究所 | 一种基于开源鸿蒙***的子***自动生成工具及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106095408B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095408A (zh) | 一种数据监控和代码自动生成与部署的***及方法 | |
US20160170719A1 (en) | Software database system and process of building and operating the same | |
CN102682096B (zh) | 一种仿真资源信息与模型源码协同管理装置及其方法 | |
CN100593794C (zh) | 用于农作物生产专家诊断***的远程控制装置及其方法 | |
CN105095089A (zh) | 一种测试应用软件性能的方法及装置 | |
US10782936B1 (en) | Programming migration system and methods | |
CN104111828A (zh) | 人机交互界面自动生成方法及*** | |
EP2610762A1 (en) | Database version management system | |
CN107656749A (zh) | 一种设备版本管控方法及装置 | |
WO2017000429A1 (zh) | 一种软件自动化测试方法及装置 | |
JP2008021111A (ja) | 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム | |
US10311030B1 (en) | Method and system for implementing an automated migration tool | |
US20060047723A1 (en) | Custom database system and method of building the same | |
CN105224527A (zh) | 适用于多种目的表更新方式的通用etl方法 | |
CN103984769A (zh) | 一种用例数据管理存储方法 | |
CN105204863A (zh) | 违法数据审核***技术文档 | |
CN104063468A (zh) | 一种数据报表自动生成及提取方法及装置 | |
US20100011018A1 (en) | Custom database system and method of building the same | |
CN111240808A (zh) | 一种核电站模拟机运行数据开发和管理*** | |
CN105512154A (zh) | 一种基于嵌入式数据库的环保数据采集方法及*** | |
US20080022258A1 (en) | Custom database system and method of building and operating the same | |
JP2009104393A (ja) | ソフトウェア障害票管理システム及び方法、並びにプログラム | |
US8631393B2 (en) | Custom database system and method of building and operating the same | |
US20070168921A1 (en) | Method for automatic recovery of uml model requirements and updating thereof | |
Bischof et al. | Raw data collection software in the Swiss NFI |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |