基于Jenkins和Mercurial的汽车嵌入式软件集成方法及系统技术方案

技术编号:38249110 阅读:8 留言:0更新日期:2023-07-25 18:08
本发明专利技术属于汽车软件开发技术领域,公开了一种基于Jenkins和Mercurial的汽车嵌入式软件集成方法及系统:将应用层的模型文件和底层的ARXML文件上传至Mercurial;在Jenkins中构建集成任务,设置通用化参数;当Jenkins中的集成任务被触发执行时,从Mercurial代码库中拉取相应的集成工程;识别出集成工程中所有的应用层模型,分别生成模型代码;基于Jenkins中构建的集成任务的各参数及相关脚本,对S4中生成的所有模型代码进行集成和编译,生成目标文件;将目标文件上传到Mercurial;将集成结果和控制台输出日志发送至相关人员的邮箱中。本发明专利技术解决了汽车嵌入式软件产品的质量和研发效率低的问题。率低的问题。率低的问题。

【技术实现步骤摘要】
基于Jenkins和Mercurial的汽车嵌入式软件集成方法及系统


[0001]本专利技术属于汽车软件开发
,具体涉及一种基于Jenkins和Mercurial的汽车嵌入式软件集成方法及系统。

技术介绍

[0002]在车载嵌入式软件开发过程中,通常采用V模型进行开发,V模型大体可以划分为以下不同的阶段,即需求分析、概要设计、详细设计、软件编码、软件集成、集成测试、系统测试、验收测试。实际的开发过程中,软件编码、软件集成、集成测试和系统测试需要反复迭代,而应用层(ASW)、中间层(RTE)、底层(BSW)等不同层级的软件大多是由不同的团队来开发。开发到一定阶段后需要对各层级的软件进行集成编译,然后测试验证等。软件集成过程需要将不同层级的代码通过合适的架构组合到一起形成集成工程,选择适配的编译环境,将集成工程进行编译,生成目标代码,交付给测试人员进行测试或者刷车。
[0003]传统过程是将底层代码、应用层代码、中间层代码从版本控制系统(如Mercurial、Git、SVN等)中检出,集成,编译,再提交到版本控制系统中,并依据需求打基线,一个熟练的集成人员需要至少30分钟时间完成上述过程,对于规模大、结构复杂的项目,甚至会需要花费数几个小时,并且可能因人的因素发生集成的代码版本和要求的版本不一致的情况。这样一来,当迭代频繁,集成需求多时,将消耗大量的人力、时间来完成集成工作,且无法有效的避免人为因素引入的集成版本错误的问题。
[0004]基于以上弊端,提供一种基于Jenkins和Mercurial的汽车嵌入式软件集成方法及系统是十分有必要的。

技术实现思路

[0005]针对上述提出的技术问题,本专利技术提供一种基于Jenkins和Mercurial的汽车嵌入式软件集成方法及系统,旨在有效提高汽车嵌入式软件产品的质量和研发效率。
[0006]第一方面,本专利技术提供了一种基于Jenkins和Mercurial的汽车嵌入式软件集成方法,该方法包括如下步骤:
[0007]S1、将应用层的模型文件和底层的ARXML文件上传至Mercurial;
[0008]S2、在Jenkins中构建集成任务,设置通用化参数;
[0009]S3、当Jenkins中的集成任务被触发执行时,从Mercurial代码库中拉取相应的集成工程;
[0010]S4、识别出集成工程中所有的应用层模型,分别生成模型代码;
[0011]S5、基于Jenkins中构建的集成任务的各参数及相关脚本,对S4中生成的所有模型代码进行集成和编译,生成目标文件;
[0012]S6、将目标文件上传到Mercurial;
[0013]S7、将集成结果和控制台输出日志发送至相关人员的邮箱中。
[0014]具体地,通用化参数包括集成工程版本、用于模型代码生成的核数、是否清除掉旧
的构建、是否清除掉构建前的模型代码、某个模型代码生成错误时是否继续进行下一个模型的代码生成,以及工程自身的个性化参数。
[0015]具体地,个性化参数为是否生成OS操作系统,用于控制是否在Jenkins上生成OS操作系统。
[0016]具体地,在步骤S3中,在Jenkins上选择和填写需要集成的项目参数配置后方可启动集成任务。
[0017]具体地,每次集成都会识别出本次集成的集成工程版本与上一次集成的集成工程版本之间的差异,当集成工程版本不同时,对上述所有模型代码进行集成。
[0018]具体地,集成结束后,Jenkins自动通过邮件将集成结果和控制台输出日志通过邮件反馈给相关人员。
[0019]具体地,根据服务器性能,设置用于模型代码生成的核数。
[0020]第二方面,本专利技术还提供了一种基于Jenkins和Mercurial的汽车嵌入式软件集成系统,该系统包括:构建模块,集成模块和反馈模块;
[0021]构建模块用于将应用层的模型文件和底层的ARXML文件上传至Mercurial;在Jenkins中构建集成任务,设置通用化参数;
[0022]集成模块用于当Jenkins中的集成任务被触发执行时,从Mercurial代码库中拉取相应的集成工程;识别出集成工程中所有的应用层模型,分别生成模型代码;基于Jenkins中构建的集成任务的各参数及相关脚本,对S4中生成的所有模型代码进行集成和编译,生成目标文件;
[0023]反馈模块用于将目标文件上传到Mercurial;将集成结果和控制台输出日志发送至相关人员的邮箱中。
[0024]第三方面,本专利技术提供了一种计算机存储介质,计算机存储介质存储有程序指令,其中,在程序指令运行时控制计算机存储介质所在设备执行上述任意一项的基于Jenkins和Mercurial的汽车嵌入式软件集成方法。
[0025]第四方面,本专利技术提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的基于Jenkins和Mercurial的汽车嵌入式软件集成方法。
[0026]本专利技术公开一种基于Jenkins和Mercurial的汽车嵌入式软件集成方法及系统,将集成工程从Mercurial中检出、集成、编译、再提交Mercurial等一系列工作交给服务器来自动化完成,集成人员只需要在Jenkins上选择和填写需要集成的项目参数配置即可,这样一来,集成一个项目只需要占用集成人员几分钟的时间,且能快速识别出新的一版集成工程与上一版集成工程的差异,并能第一时间收到构建结果和控制台输出的邮件通知,大幅提高了集成效率及集成的可靠性。同时,能保证用于集成的服务器在意外断电后重新来电时能自动处于准备工作状态,减少了人工维护的时间成本。
附图说明
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0028]图1为本专利技术的基于Jenkins和Mercurial的汽车嵌入式软件集成方法的流程图;
[0029]图2为本专利技术的实施例中的参数设置示例图;
[0030]图3为本专利技术的实施例中的构建结果邮件通知示例图;
[0031]图4为本专利技术的基于Jenkins和Mercurial的汽车嵌入式软件集成系统的结构示意图。
具体实施方式
[0032]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术经行进一步的详细说明。显然,此处所描述的具体实施例仅仅用于解释本专利技术,是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术普通人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0033]需要说明,若本专利技术实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Jenkins和Mercurial的汽车嵌入式软件集成方法,其特征在于,包括如下步骤:S1、将应用层的模型文件和底层的ARXML文件上传至Mercurial;S2、在Jenkins中构建集成任务,设置通用化参数;S3、当Jenkins中的所述集成任务被触发执行时,从Mercurial代码库中拉取相应的集成工程;S4、识别出所述集成工程中所有的应用层模型,分别生成模型代码;S5、基于Jenkins中构建的所述集成任务的各参数及相关脚本,对所述S4中生成的所有模型代码进行集成和编译,生成目标文件;S6、将所述目标文件上传到Mercurial;S7、将集成结果和控制台输出日志发送至相关人员的邮箱中。2.根据权利要求1所述的基于Jenkins和Mercurial的汽车嵌入式软件集成方法,其特征在于,所述通用化参数包括集成工程版本、用于模型代码生成的核数、是否清除掉旧的构建、是否清除掉构建前的模型代码、某个模型代码生成错误时是否继续进行下一个模型的代码生成,以及工程自身的个性化参数。3.根据权利要求2所述的基于Jenkins和Mercurial的汽车嵌入式软件集成方法,其特征在于,所述个性化参数为是否生成OS操作系统,用于控制是否在Jenkins上生成OS操作系统。4.根据权利要求1所述的基于Jenkins和Mercurial的汽车嵌入式软件集成方法,其特征在于,在所述步骤S3中,在Jenkins上选择和填写需要集成的项目参数配置后方可启动所述集成任务。5.根据权利要求1所述的基于Jenkins和Mercurial的汽车嵌入式软件集成方法,其特征在于,每次集成都会识别出本次集成的集成工程版本与上一次集成的集成工程版本之间的差异,当集成工程版本不同时,对所述所有模型...

【专利技术属性】
技术研发人员:陆倩徐凤王恺刘义飚岳永召
申请(专利权)人:东风汽车集团股份有限公司
类型:发明
国别省市:

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

1