一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种嵌入式软件开发的代码管理、持续集成和交付的工作方法及系统与流程

2022-07-16 23:20:08 来源:中国专利 TAG:


1.本发明涉及一种嵌入式软件开发的代码管理、持续集成和交付的工作方法及系统,属于嵌入式软件开发领域。


背景技术:

2.嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,是嵌入式系统的重要组成部分。传统的嵌入式开发方法分为三个流程。独立团队编写代码、集成代码以及测试代码。这在“瀑布式”软件开发方法中运行无碍,但是它的速度太慢,无法满足当今更智能的系统以及更快的开发周期的市场需求。随着敏捷开发的普及,团队能够以空前速度提交出新的代码,以及新代码定期发布,迭代节奏的频率明显加快,使得嵌入式软件的代码质量及集成交付遭遇更大的挑战。因为,版本发布的越频繁,可能涉及到软件质量的层面越多、集成越容易失败、风险也越高。同时,交付包使用ftp或者svn进行管理,管理粒度相对较粗.因此,在整个嵌入式开发过程中软件质量高可用性要求就得不到保障。


技术实现要素:

3.发明目的:提供一种嵌入式软件开发的代码管理、持续集成和交付的工作方法及系统,解决现有嵌入式软件在快节奏的敏捷开发、迭代情况下,持续集成/持续交付的周期、质量及管理的不足,提升交付质量与效率,努力为客户创造更多价值,带来更好体验。
4.技术方案:一种嵌入式软件开发的代码管理、持续集成和交付的工作方法,包括以下工作:代码质量管理,通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目;持续集成,过配置jenkins、版本控制软件和测试报告等插件,实现嵌入式软件持续集成的闭环过程;持续交付及制品管理,解决交付包使用ftp或者svn进行管理,管理粒度相对较粗的管理方式,标准化管理软件开发过程中产生的所有制品。
5.在进一步的实施例中,所述代码质量管理包括以下步骤:步骤1、登陆基于sonarqube的代码质量管理平台;步骤2、通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目,风险等级从a~e划分为5个等级;步骤3、同时,sonar可以集成pmd、findbugs、checkstyle等插件来扩展使用其他规则来检验代码质量;步骤4、另外,sonar设置了质量门功能,通过设置的质量门评定此次提交分析的项
目代码是否达到了规定的要求。
6.在进一步的实施例中,所述sonarqube平台由4个组件组成:第一组件:一个sonarqube服务器启动3个主要进程:进程1.用于开发人员的web服务器,管理员浏览质量快照并配置sonarqube实例;进程2.基于elasticsearch的搜索服务器可以从页面返回搜索结果;进程3.负责处理代码分析报告并将其保存在sonarqube数据库中的计算机引擎服务器;第二组件:sonarqube数据库存储:a.sonarqube实例配置文件;b.项目质量快照,视图等;第三组件:多个sonarqube插件安装在服务器上,可能包括语言,scm,集成,身份验证和治理插件;第四组件:一或多个sonarqube扫描器在分析项目,运行在构建或持续集成的服务器上。
7.在进一步的实施例中,所述持续集成是基于jenkins和 git作为持续集成的工具,通过配置jenkins、版本控制软件和测试报告等插件,实现了嵌入式软件持续集成的闭环过程。
8.在进一步的实施例中,每个开发版本总是存在多个 feature团队在并行开发不同的功能,每个 feature团队都有自己独立的开发联调环境(对应到 feature分支;开发提交代码到daily、nightly及release分支,jenkins自动监测到对应代码仓库的代码分支变更,然后启动对应的任务进行代码的静态检查,单元测试,编译,打包,如果sonarscanners发现问题,系统则立刻通过邮件的形式通知开发人员。
9.在进一步的实施例中,所述持续交付及制品管理中控制着制品的按配置规则自动分发部署,是基于nexus搭建的制品管理仓库除了基本的存储功能,还提供了版本控制、访问控制、安全扫描等重要功能,解决了交付包使用ftp或者svn进行管理,管理粒度相对较粗的管理方式,标准化管理软件开发过程中产生的所有制品。
10.在进一步的实施例中,所述制品是指由源码编译打包生成的二进制文件;制品库是用来统一管理不同格式的软件制品。
11.在进一步的实施例中,所述制品管理可以设成自动化,让分发部署变成一种自助式服务。
12.在进一步的实施例中,提供了一种计算机程序其作为权利要求1~8中任一项提及的代码管理、持续集成和交付方法。
13.有益效果:本发明涉及一种嵌入式软件开发的代码管理、持续集成和交付方法及系统,属于嵌入式软件开发领域,本发明通过实现代码质量管理工作,通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目;持续集成工作,过配置jenkins、版本控制软件和测试报告等插件,实现嵌入式软件持续集成的闭环过程;持续交付及制品管理工作,解决交付包使用ftp或者svn进行管理,管理粒度相对较粗的管理方式,标准化管理软件开发过程中产生的所有制品。从而本发明可以从(1)代码规范,(2)潜在bug,(3)复杂度分析,(4)代码重复度,(5)代码注释,(6)单元测试,(7)详细设计七个维度检
测代码质量,提升代码质量的同时,精细化、数智化管理软件开发过程中遇到的质量问题;同时自动监控代码仓库的正确性,包括代码质量和覆盖率,如果发现问题,则立刻通知开发人员;而且可以在无人值守的情况下自动完成预先设定好的集成任务,达到更平滑和更快交付的效果;以及解决了交付包使用ftp或者svn进行管理,管理粒度相对较粗的管理方式,标准化管理软件开发过程中产生的所有制品,真正实现了一次集成,随时随地运行,真正无缝实现所测即所部署。
附图说明
14.图1是本发明的sonarqube主要工作流程图。
15.图2是本发明的jenkins主要工作流程图。
16.图3是本发明的制品管理工作流程图。
具体实施方式
17.在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施;在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
18.一种嵌入式软件开发的代码管理、持续集成和交付的工作方法,包括:代码质量管理,通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目;持续集成,过配置jenkins、版本控制软件和测试报告等插件,实现嵌入式软件持续集成的闭环过程;持续交付及制品管理,解决交付包使用ftp或者svn进行管理,管理粒度相对较粗的管理方式,标准化管理软件开发过程中产生的所有制品。
19.在一个实施例中,所述代码质量管理包括以下步骤:步骤1、登陆基于sonarqube的代码质量管理平台;步骤2、通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目,风险等级从a~e划分为5个等级;步骤3、同时,sonar可以集成pmd、findbugs、checkstyle等插件来扩展使用其他规则来检验代码质量;步骤4、另外,sonar设置了质量门功能,通过设置的质量门评定此次提交分析的项目代码是否达到了规定的要求。
20.在一个实施例中,所述sonarqube平台由4个组件组成:第一组件:一个sonarqube服务器启动3个主要进程:进程1.用于开发人员的web服务器,管理员浏览质量快照并配置sonarqube实例;进程2.基于elasticsearch的搜索服务器可以从页面返回搜索结果;进程3.负责处理代码分析报告并将其保存在sonarqube数据库中的计算机引擎服务器;第二组件:sonarqube数据库存储:
a.sonarqube实例配置文件;b.项目质量快照,视图等;第三组件:多个sonarqube插件安装在服务器上,可能包括语言,scm,集成,身份验证和治理插件;第四组件:一或多个sonarqube扫描器在分析项目,运行在构建或持续集成的服务器上。
21.在一个实施例中,所述持续集成是基于jenkins和 git作为持续集成的工具,通过配置jenkins、版本控制软件和测试报告等插件,实现了嵌入式软件持续集成的闭环过程。
22.在一个实施例中,每个开发版本总是存在多个 feature团队在并行开发不同的功能,每个 feature团队都有自己独立的开发联调环境(对应到 feature分支;开发提交代码到daily、nightly及release分支,jenkins自动监测到对应代码仓库的代码分支变更,然后启动对应的任务进行代码的静态检查,单元测试,编译,打包,如果sonarscanners发现问题,系统则立刻通过邮件的形式通知开发人员。
23.在一个实施例中,所述持续交付及制品管理中控制着制品的按配置规则自动分发部署,是基于nexus搭建的制品管理仓库除了基本的存储功能,还提供了版本控制、访问控制、安全扫描等重要功能,解决了交付包使用ftp或者svn进行管理,管理粒度相对较粗的管理方式,标准化管理软件开发过程中产生的所有制品。
24.在一个实施例中,所述制品是指由源码编译打包生成的二进制文件;制品库是用来统一管理不同格式的软件制品。
25.在一个实施例中,所述制品管理可以设成自动化,让分发部署变成一种自助式服务。
26.在一个实施例中,一种嵌入式软件开发的代码管理、持续集成和交付的工作系统,提供了一种计算机程序其作为权利要求1~8中任一项提及的代码管理、持续集成和交付方法。
27.工作原理,结合附图1至附图3,当本发明进行工作时,分为以下工作:1、代码质量管理基于sonarqube的代码质量管理平台,通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目,风险等级从a~e划分为5个等级;同时,sonar可以集成pmd、findbugs、checkstyle等插件来扩展使用其他规则来检验代码质量;另外,sonar设置了质量门功能,通过设置的质量门评定此次提交分析的项目代码是否达到了规定的要求。sonarqube平台由4个组件组成:(1)一个sonarqube服务器 启动3个主要进程:a.用于开发人员的web服务器,管理员浏览质量快照并配置sonarqube实例;b.基于elasticsearch的搜索服务器可以从页面返回搜索结果;c.负责处理代码分析报告并将其保存在sonarqube数据库中的计算机引擎服务器;(2)sonarqube数据库存储:a.sonarqube实例配置文件;b.项目质量快照,视图等;
(3)多个sonarqube插件安装在服务器上,可能包括语言,scm,集成,身份验证和治理插件;(4)一或多个sonarqube扫描器在分析项目,运行在构建或持续集成的服务器上。
28.2、持续集成基于jenkins(持续集成服务器(ci server)) git(源代码管理工具,保存源代码和变更记录)作为持续集成的工具,通过配置jenkins、版本控制软件和测试报告等插件,实现了嵌入式软件持续集成的闭环过程。每个开发版本总是存在多个 feature团队在并行开发不同的功能,每个 feature团队都有自己独立的开发联调环境(对应到 feature分支)。开发提交代码到daily、nightly及 release分支,jenkins自动监测到对应代码仓库的代码分支变更,然后启动对应的任务进行代码的静态检查,单元测试,编译,打包,如果sonarscanners发现问题,系统则立刻通过邮件的形式通知开发人员。本方案不仅能够密切监视代码库的正确性,包括代码质量和覆盖率;而且可以在无人值守的情况下自动完成预先设定好的集成任务,通过提供更快地识别和修复集成以及回归相关问题,达到更平滑、更快交付和更少问题的效果。
29.3、持续交付及制品管理制品是指由源码编译打包生成的二进制文件。制品库是用来统一管理不同格式的软件制品。 基于nexus搭建的制品管理仓库除了基本的存储功能,还提供了版本控制、访问控制、安全扫描等重要功能,解决了交付包使用ftp或者svn进行管理,管理粒度相对较粗的管理方式,标准化管理软件开发过程中产生的所有制品。从图3可以看出来【制品管理】就是我们整个流水线的枢纽。首先,它控制着制品的按配置规则自动分发部署,可以避免人工因一时疏忽带来的版本问题;其次,它是可以设成自动化,让分发部署变成一种自助式服务。
30.以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献