Article(id=1195432025474773653, tenantId=1146029695717560320, journalId=1189645257101713411, issueId=1195432021267890320, articleNumber=null, orderNo=null, doi=10.19822/j.cnki.1671-6329.20240150, pmid=null, cstr=null, oa=null, hot=null, price=null, onlineType=0, articleFormat=0, articleType=null, articleTypeStr=research-article, receivedDate=null, receivedDateStr=null, revisedDate=null, revisedDateStr=null, acceptedDate=null, acceptedDateStr=null, onlineDate=1762942804926, onlineDateStr=2025-11-12, pubDate=1738684800000, pubDateStr=2025-02-05, doiRegisterDate=null, doiRegisterDateStr=null, onlineIssueDate=1762942804926, onlineIssueDateStr=2025-11-12, onlineJustAcceptDate=null, onlineJustAcceptDateStr=null, onlineFirstDate=null, onlineFirstDateStr=null, sourceXml=null, magXml=null, createTime=1762942804926, creator=13701087609, updateTime=1762942804926, updator=13701087609, issue=Issue{id=1195432021267890320, tenantId=1146029695717560320, journalId=1189645257101713411, year='2025', volume='', issue='2', pageStart='1', pageEnd='62', issueExtLink='null', onlineDate='null', pubDate='null', beforeIssueId=null, nextIssueId=null, price=null, status=1, issueComplete=1, articleOrder=1, issueType=-1, specialIssue=null, createTime=1762942803923, creator=13701087609, updateTime=1762945377007, updator=13701087609, preIssue=null, nextIssue=null, ext={EN=IssueExt(id=1195442813602152532, tenantId=1146029695717560320, journalId=1189645257101713411, issueId=1195432021267890320, language=EN, specialIssueTitle=, coverIllustrator=null, specialIssueEditor=, specialIssueAbout=), CN=IssueExt(id=1195442813606346837, tenantId=1146029695717560320, journalId=1189645257101713411, issueId=1195432021267890320, language=CN, specialIssueTitle=, coverIllustrator=null, specialIssueEditor=, specialIssueAbout=)}, issueFiles=null}, startPage=13, endPage=17, ext={EN=ArticleExt(id=1195432025785152153, articleId=1195432025474773653, tenantId=1146029695717560320, journalId=1189645257101713411, language=EN, title=Research on Continuous Integration Technology of Automotive Electronic Software Based on Jenkins, columnId=null, journalTitle=Automotive Digest, columnName=null, runingTitle=null, highlight=null, articleAbstract=

Aiming at the problems of complicated and repetitive integration and testing which are inefficient in automotive electronics software development, a continuous integration system for automotive engine ECU software based on Jenkins is designed. This method combines Jenkins continuous integration technology and automotive embedded software development technology and connects development process nodes into an automated process which is called Jenkins-based electronics software continuous integration technology. The development process nodes include SVN software version management, HighTec integrated compilation, remote flashing of target ECU, software integration test and mail notification. This Jenkins system can substaintially shorten the development cycle of software iterative upgrades and avoid human integration operation errors.

, correspAuthors=null, authorNote=null, correspAuthorsNote=null, copyrightStatement=null, copyrightOwner=null, extLink=null, articleAbsUrl=null, sourceXml=null, magXml=null, pdfUrl=null, pdf=null, pdfFileSize=null, pdfExtLink=null, richHtmlUrl=null, mobilePdfUrl=null, reviewReport=null, pdfFirstPage=null, abstractGraph=null, abstractGraphContent=null, abstractVideo=null, citation=null, cebUrl=null, magXmlContent=null, mapNumber=null, authorCompany=null, fund=null, authors=null, authorsList=Dezhi Gao, Shuxing Chen, Chunjin Wang, Endong Wang, Zongxing Wang), CN=ArticleExt(id=1195432216667927393, articleId=1195432025474773653, tenantId=1146029695717560320, journalId=1189645257101713411, language=CN, title=基于Jenkins的汽车电子软件持续集成技术研究, columnId=0, journalTitle=汽车文摘, columnName=, runingTitle=null, highlight=null, articleAbstract=

针对汽车电子软件开发工作中集成与测试工作繁杂重复、人为操作效率低的问题,设计了一种基于Jenkins的汽车发动机ECU软件持续集成系统。该方法在车载嵌入式软件开发技术中融合了Jenkins持续集成技术,将SVN软件版本管理、HighTec集成编译、目标控制器远程刷写、软件测试及报告通知环节整合成一个自动化流程,搭建了一个了基于Jenkins技术的汽车电子软件持续集成系统。该系统可大幅缩短软件迭代升级的开发周期,避免人为集成操作失误。

, correspAuthors=null, authorNote=null, correspAuthorsNote=null, copyrightStatement=null, copyrightOwner=null, extLink=null, articleAbsUrl=null, sourceXml=oz80lLKZOejHWGNyuDCLFw==, magXml=oUWP0hJp545RHZ5Acy7ovg==, pdfUrl=null, pdf=Q5hFEOiNVLmMRgrKTUiSXw==, pdfFileSize=1805848, pdfExtLink=null, richHtmlUrl=null, mobilePdfUrl=null, reviewReport=null, pdfFirstPage=null, abstractGraph=k3sMU3Nn30xLRQjryTXQUw==, abstractGraphContent=null, abstractVideo=null, citation=null, cebUrl=null, magXmlContent=T36+jSJQQIFDyKUGRsrayw==, mapNumber=null, authorCompany=null, fund=null, authors=null, authorsList=高德志, 陈树星, 王春锦, 王恩东, 王宗兴)}, authors=[Author(id=1195653486185594985, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, orderNo=0, firstName=null, middleName=null, lastName=null, nameCn=null, orcid=null, stid=null, country=null, authorPic=null, dead=0, email=null, emailSecond=null, emailThird=null, correspondingAuthor=0, authorType=1, ext={EN=AuthorExt(id=1195653486265286763, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486185594985, language=EN, stringName=Dezhi Gao, firstName=Dezhi, middleName=null, lastName=Gao, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null), CN=AuthorExt(id=1195653486336589932, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486185594985, language=CN, stringName=高德志, firstName=null, middleName=null, lastName=null, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=一汽解放汽车有限公司商用车开发院, 长春 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null)}, companyList=[AuthorCompany(id=1195653486093320293, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, xref=null, ext=[AuthorCompanyExt(id=1195653486105903206, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=EN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011), AuthorCompanyExt(id=1195653486114291815, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=CN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=一汽解放汽车有限公司商用车开发院, 长春 130011)])]), Author(id=1195653486412087406, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, orderNo=1, firstName=null, middleName=null, lastName=null, nameCn=null, orcid=null, stid=null, country=null, authorPic=null, dead=0, email=null, emailSecond=null, emailThird=null, correspondingAuthor=0, authorType=1, ext={EN=AuthorExt(id=1195653486500167792, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486412087406, language=EN, stringName=Shuxing Chen, firstName=Shuxing, middleName=null, lastName=Chen, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null), CN=AuthorExt(id=1195653486575665265, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486412087406, language=CN, stringName=陈树星, firstName=null, middleName=null, lastName=null, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=一汽解放汽车有限公司商用车开发院, 长春 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null)}, companyList=[AuthorCompany(id=1195653486093320293, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, xref=null, ext=[AuthorCompanyExt(id=1195653486105903206, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=EN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011), AuthorCompanyExt(id=1195653486114291815, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=CN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=一汽解放汽车有限公司商用车开发院, 长春 130011)])]), Author(id=1195653486688911475, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, orderNo=2, firstName=null, middleName=null, lastName=null, nameCn=null, orcid=null, stid=null, country=null, authorPic=null, dead=0, email=null, emailSecond=null, emailThird=null, correspondingAuthor=0, authorType=1, ext={EN=AuthorExt(id=1195653486764408949, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486688911475, language=EN, stringName=Chunjin Wang, firstName=Chunjin, middleName=null, lastName=Wang, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null), CN=AuthorExt(id=1195653486835712118, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486688911475, language=CN, stringName=王春锦, firstName=null, middleName=null, lastName=null, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=一汽解放汽车有限公司商用车开发院, 长春 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null)}, companyList=[AuthorCompany(id=1195653486093320293, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, xref=null, ext=[AuthorCompanyExt(id=1195653486105903206, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=EN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011), AuthorCompanyExt(id=1195653486114291815, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=CN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=一汽解放汽车有限公司商用车开发院, 长春 130011)])]), Author(id=1195653486911209592, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, orderNo=3, firstName=null, middleName=null, lastName=null, nameCn=null, orcid=null, stid=null, country=null, authorPic=null, dead=0, email=null, emailSecond=null, emailThird=null, correspondingAuthor=0, authorType=1, ext={EN=AuthorExt(id=1195653486995095674, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486911209592, language=EN, stringName=Endong Wang, firstName=Endong, middleName=null, lastName=Wang, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null), CN=AuthorExt(id=1195653487062204539, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653486911209592, language=CN, stringName=王恩东, firstName=null, middleName=null, lastName=null, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=一汽解放汽车有限公司商用车开发院, 长春 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null)}, companyList=[AuthorCompany(id=1195653486093320293, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, xref=null, ext=[AuthorCompanyExt(id=1195653486105903206, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=EN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011), AuthorCompanyExt(id=1195653486114291815, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=CN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=一汽解放汽车有限公司商用车开发院, 长春 130011)])]), Author(id=1195653487146090621, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, orderNo=4, firstName=null, middleName=null, lastName=null, nameCn=null, orcid=null, stid=null, country=null, authorPic=null, dead=0, email=null, emailSecond=null, emailThird=null, correspondingAuthor=0, authorType=1, ext={EN=AuthorExt(id=1195653487234171007, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653487146090621, language=EN, stringName=Zongxing Wang, firstName=Zongxing, middleName=null, lastName=Wang, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null), CN=AuthorExt(id=1195653487297085568, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, authorId=1195653487146090621, language=CN, stringName=王宗兴, firstName=null, middleName=null, lastName=null, prefix=null, suffix=null, authorComment=null, nameInitials=null, affiliation=null, department=null, xref=null, address=一汽解放汽车有限公司商用车开发院, 长春 130011, bio=null, bioImg=null, bioContent=null, aboutCorrespAuthor=null)}, companyList=[AuthorCompany(id=1195653486093320293, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, xref=null, ext=[AuthorCompanyExt(id=1195653486105903206, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=EN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011), AuthorCompanyExt(id=1195653486114291815, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=CN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=一汽解放汽车有限公司商用车开发院, 长春 130011)])])], keywords=[Keyword(id=1195653487435497601, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, orderNo=1, keyword=Jenkins), Keyword(id=1195653487494217858, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, orderNo=2, keyword=Continuous integration), Keyword(id=1195653487552938115, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, orderNo=3, keyword=Automotive electronic software development), Keyword(id=1195653487611658372, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, orderNo=4, keyword=SVN system), Keyword(id=1195653487682961541, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, orderNo=5, keyword=Mail notification), Keyword(id=1195653487741681798, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, orderNo=1, keyword=Jenkins), Keyword(id=1195653487800402055, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, orderNo=2, keyword=持续集成), Keyword(id=1195653487863316616, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, orderNo=3, keyword=汽车电子软件开发), Keyword(id=1195653487930425481, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, orderNo=4, keyword=SVN系统), Keyword(id=1195653487989145738, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, orderNo=5, keyword=邮件通知)], refs=[Reference(id=1195653489067081881, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=2018, volume=null, issue=null, pageStart=330, pageEnd=333, url=null, language=null, rfNumber=[1], rfOrder=0, authorNames=田莉, journalName=第三十二届中国(天津)2018'IT、网络、信息技术、电子、仪器仪表创新学术会议论文集, refType=null, unstructuredReference=田莉. 论如何借鉴敏捷软件开发方法来改进软件项目管理[C]// 第三十二届中国(天津)2018'IT、网络、信息技术、电子、仪器仪表创新学术会议论文集, 2018: 330-333., articleTitle=论如何借鉴敏捷软件开发方法来改进软件项目管理, refAbstract=null), Reference(id=1195653489129996442, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=2012, volume=null, issue=null, pageStart=null, pageEnd=null, url=null, language=null, rfNumber=[2], rfOrder=1, authorNames=牛璟, journalName=分布式系统中的持续集成系统的研究与实现, refType=null, unstructuredReference=牛璟. 分布式系统中的持续集成系统的研究与实现[D]. 上海: 复旦大学, 2012., articleTitle=null, refAbstract=null), Reference(id=1195653489188716699, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=2016, volume=24, issue=3, pageStart=109, pageEnd=113, url=null, language=null, rfNumber=[3], rfOrder=2, authorNames=姜文, 刘立康, journalName=计算机测量与控制, refType=null, unstructuredReference=姜文, 刘立康. 基于SVN的应用软件持续集成[J]. 计算机测量与控制, 2016, 24(3): 109-113., articleTitle=基于SVN的应用软件持续集成, refAbstract=null), Reference(id=1195653489247436956, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=2018, volume=29, issue=10, pageStart=3021, pageEnd=3050, url=null, language=null, rfNumber=[4], rfOrder=3, authorNames=李英玲, 王青, journalName=软件学报, refType=null, unstructuredReference=李英玲, 王青. 持续集成测试用例集优化综述研究[J]. 软件学报, 2018, 29(10): 3021-3050., articleTitle=持续集成测试用例集优化综述研究, refAbstract=null), Reference(id=1195653489322934429, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=2011, volume=null, issue=null, pageStart=null, pageEnd=null, url=null, language=null, rfNumber=[5], rfOrder=4, authorNames=车晓镭, journalName=汽车动力总成电控单元硬件在环测试系统研究, refType=null, unstructuredReference=车晓镭. 汽车动力总成电控单元硬件在环测试系统研究[D]. 长春: 吉林大学, 2011., articleTitle=null, refAbstract=null), Reference(id=1195653489390043294, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=2019, volume=null, issue=22, pageStart=64, pageEnd=67, url=null, language=null, rfNumber=[6], rfOrder=5, authorNames=钱俊磊, journalName=汽车实用技术, refType=null, unstructuredReference=钱俊磊. 基于CANoe和Jenkins的ECU软件自动化测试系统的设计与实现[J]. 汽车实用技术, 2019(22): 64-67., articleTitle=基于CANoe和Jenkins的ECU软件自动化测试系统的设计与实现, refAbstract=null), Reference(id=1195653489444569247, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=2018, volume=null, issue=10, pageStart=71, pageEnd=74, url=null, language=null, rfNumber=[7], rfOrder=6, authorNames=徐永新, 朱娟, 王裕鹏, journalName=汽车电器, refType=null, unstructuredReference=徐永新, 朱娟, 王裕鹏. 基于ECU_TEST的ECU报文自动测试研究与应用[J]. 汽车电器, 2018(10): 71-74., articleTitle=基于ECU_TEST的ECU报文自动测试研究与应用, refAbstract=null), Reference(id=1195653489507483808, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=null, volume=null, issue=null, pageStart=null, pageEnd=null, url=null, language=null, rfNumber=[8], rfOrder=7, authorNames=王静, 夏禹, journalName=null, refType=null, unstructuredReference=王静, 夏禹. 一种汽车软件的版本管理方法,系统及介质: 202410109232[P]. 2024-07-23., articleTitle=一种汽车软件的版本管理方法,系统及介质: 202410109232, refAbstract=null), Reference(id=1195653489570398369, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=null, volume=null, issue=null, pageStart=null, pageEnd=null, url=null, language=null, rfNumber=[9], rfOrder=8, authorNames=徐江川, 装置, journalName=null, refType=null, unstructuredReference=徐江川. 装置, 集群部署方法,车辆和存储介质: 202311114096[P]. 2024-07-23., articleTitle=集群部署方法,车辆和存储介质: 202311114096, refAbstract=null), Reference(id=1195653489629118626, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, doi=null, pmid=null, pmcid=null, year=null, volume=null, issue=null, pageStart=null, pageEnd=null, url=null, language=null, rfNumber=[10], rfOrder=9, authorNames=谢众玉, 王功亮, 刘西学, journalName=null, refType=null, unstructuredReference=谢众玉, 王功亮, 刘西学, 等. 一种汽车软件持续集成测试方法及系统: 202310822237[P]. 2024-07-23., articleTitle=一种汽车软件持续集成测试方法及系统: 202310822237, refAbstract=null)], funds=null, companyList=[AuthorCompany(id=1195653486093320293, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, xref=null, ext=[AuthorCompanyExt(id=1195653486105903206, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=EN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011), AuthorCompanyExt(id=1195653486114291815, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, companyId=1195653486093320293, language=CN, country=null, province=null, city=null, postcode=null, companyName=null, departmentName=null, remark=一汽解放汽车有限公司商用车开发院, 长春 130011)])], figs=[ArticleFig(id=1195653488131752075, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, label=null, caption=null, figureFileSmall=SPtsh8QDidKzC3GUtyO8+A==, figureFileBig=w7RItg+nBqUBuffDYOoAyw==, tableContent=null), ArticleFig(id=1195653488182083724, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, label=图1, caption=人工集成与持续集成, figureFileSmall=SPtsh8QDidKzC3GUtyO8+A==, figureFileBig=w7RItg+nBqUBuffDYOoAyw==, tableContent=null), ArticleFig(id=1195653488261775501, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, label=null, caption=null, figureFileSmall=vp9+py4vhuHmTha0Vokwog==, figureFileBig=Q5aqS7qW/7Nn3d11HHuwIQ==, tableContent=null), ArticleFig(id=1195653488320495758, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, label=图2, caption=Jenkins持续集成系统, figureFileSmall=vp9+py4vhuHmTha0Vokwog==, figureFileBig=Q5aqS7qW/7Nn3d11HHuwIQ==, tableContent=null), ArticleFig(id=1195653488395993231, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, label=null, caption=null, figureFileSmall=9bf6v1O2wepgLKrwxt++Cg==, figureFileBig=mFu1G4T8nMQYHD1qInzztQ==, tableContent=null), ArticleFig(id=1195653488458907792, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, label=图3, caption=持续集成任务项目控制台, figureFileSmall=9bf6v1O2wepgLKrwxt++Cg==, figureFileBig=mFu1G4T8nMQYHD1qInzztQ==, tableContent=null), ArticleFig(id=1195653488509239441, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, label=null, caption=null, figureFileSmall=HZotbNuTbIOKArPS98AKNw==, figureFileBig=u5X1vAr/4EuF+8u9+PenZg==, tableContent=null), ArticleFig(id=1195653488563765394, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, label=图4, caption=Jenkins配置HighTec编译任务, figureFileSmall=HZotbNuTbIOKArPS98AKNw==, figureFileBig=u5X1vAr/4EuF+8u9+PenZg==, tableContent=null), ArticleFig(id=1195653488622485651, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, label=null, caption=null, figureFileSmall=aESb0A5wRkmrgfmqJAjE8g==, figureFileBig=cKbiOWNA2+i8qyL80t0mZg==, tableContent=null), ArticleFig(id=1195653488677011604, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, label=图5, caption=Jenkins持续集成系统项目结果反馈, figureFileSmall=aESb0A5wRkmrgfmqJAjE8g==, figureFileBig=cKbiOWNA2+i8qyL80t0mZg==, tableContent=null), ArticleFig(id=1195653488735731861, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, label=null, caption=null, figureFileSmall=null, figureFileBig=null, tableContent=
配置项 参数
CPU Intel Xeon Gold 5118 @2.30GHz
内存 64G
操作系统 WIN7 企业版
Java环境 1.8.0_73
Jenkins版本 2.176
), ArticleFig(id=1195653488790257814, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, label=表1, caption=

Jenkins服务器环境关键参数

, figureFileSmall=null, figureFileBig=null, tableContent=
配置项 参数
CPU Intel Xeon Gold 5118 @2.30GHz
内存 64G
操作系统 WIN7 企业版
Java环境 1.8.0_73
Jenkins版本 2.176
), ArticleFig(id=1195653488857366679, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=EN, label=null, caption=null, figureFileSmall=null, figureFileBig=null, tableContent=
人工集成 Jenkins持续集成
版本同步 3 min <1 min
编译 5 min 2 min 25 s
刷写 8 min 7 min 29 s
静态测试* 3 min 2 min
邮件通知 2 min <1 min
总计 21 min 12 min
), ArticleFig(id=1195653488924475544, tenantId=1146029695717560320, journalId=1189645257101713411, articleId=1195432025474773653, language=CN, label=表2, caption=

集成时间对比

, figureFileSmall=null, figureFileBig=null, tableContent=
人工集成 Jenkins持续集成
版本同步 3 min <1 min
编译 5 min 2 min 25 s
刷写 8 min 7 min 29 s
静态测试* 3 min 2 min
邮件通知 2 min <1 min
总计 21 min 12 min
)], attaches=null, journal=Journal(id=1149694111122235398, delFlag=0, nameCn=汽车文摘, nameEn=Automotive Digest, nameHistory1=null, nameHistory2=null, issn=1671-6329, eissn=null, cn=22-1112/U, coden=null, periodic=0, language=CN, oaType=null, ccby=null, superviseOffice=null, ownerOffice=null, pubOffice=null, editorOffice=null, officeType=null, aims=null, clcCode=null, officeProv=null, officeCity=null, officeAddr=null, officeZip=null, officeEmail=null, officePhone=null, editDirector=null, officeDirector=null, officeDirectorPhone=null, officeStaffNum=null, officeEmpNum=null, coverPicUrl=luiJW6+BcEXciylORYcumg==, journalPrice=null, startedYear=null, abbrevIsoEn=null, journalRemark=null, publicationField=null, createdTime=1752038036376, updatedTime=1761735682597, createdBy=18614031015, updatedBy=13701087609, firstLetterCn=A, firstLetterEn=A, subjectCode=Engineering, subjectName=Engineering, subjectCodeEn=Engineering, subjectNameEn=null, picCn=luiJW6+BcEXciylORYcumg==, picEn=O+ZP75C19YktWcRPOtyJBw==, jcr=null, cjcr=null, exts=[JournalExt(id=1190368987570606240, language=CN, name=汽车文摘, nameHistory1=null, nameHistory2=null, managedBy=, sponsoredBy=, publishedBy=, editorOffice=, officeProv=null, officeCity=null, officeAddr=, officeZip=, editDirector=, officeDirector=null, officePhone=null, coverPicUrl=null, journalRemark=, submitArticleUrl=null, websiteUrl=, createdTime=1761735682623, updatedTime=1761735682623, createdBy=13701087609, updatedBy=13701087609, submissionGuidelinesUrl=, submissionAuthorUrl=https://qcwz.cbpt.cnki.net/index.aspx?t=1, submissionEditorUrl=https://qcwz.cbpt.cnki.net/index.aspx?t=3, submissionReviewUrl=https://qcwz.cbpt.cnki.net/index.aspx?t=2, submissionCeEditorUrl=, submissionAeEditorUrl=, option={"copyright":""}), JournalExt(id=1190368987625132193, language=EN, name=Automotive Digest, nameHistory1=null, nameHistory2=null, managedBy=, sponsoredBy=, publishedBy=, editorOffice=, officeProv=null, officeCity=null, officeAddr=, officeZip=, editDirector=, officeDirector=null, officePhone=null, coverPicUrl=null, journalRemark=, submitArticleUrl=null, websiteUrl=, createdTime=1761735682636, updatedTime=1761735682636, createdBy=13701087609, updatedBy=13701087609, submissionGuidelinesUrl=, submissionAuthorUrl=https://qcwz.cbpt.cnki.net/index.aspx?t=1, submissionEditorUrl=https://qcwz.cbpt.cnki.net/index.aspx?t=3, submissionReviewUrl=https://qcwz.cbpt.cnki.net/index.aspx?t=2, submissionCeEditorUrl=, submissionAeEditorUrl=, option={"copyright":""})], databaseList=null, tenantJournalId=1189645257101713411, websiteList=[Website(id=1189645359124066938, webName=null, webTitle=null, webDomain=null, webCopyrigh=null, webIpcNo=null, seoTitle=null, seoKeywords=null, seoDescription=null, tenantJournalId=null, journalId=1189645257101713411, journalNameCn=null, journalNameEn=null, grayFlag=null, tenantId=1146029695717560320, platformId=null, journalGroupId=null, journalGroupNameCn=null, journalGroupNameEn=null, type=1, domain=https://castjournals.cast.org.cn/joweb/qcwz/CN, language=CN, createTime=1761563156157, createBy=18614031015, updateTime=1761563183518, updateBy=18614031015, name=汽车文摘-中文, tplId=1146099689490845704, title=汽车文摘, delFlag=0, indexPage=/home, props=[WebsiteProps(id=1189645933336867479, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=articleTextType, value=kx, createTime=1761563293060, updateTime=1761563293060, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933315895956, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=banner, value=null, createTime=1761563293055, updateTime=1761563293055, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933353644698, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=grayFlag, value=0, createTime=1761563293064, updateTime=1761563293064, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933307507347, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=logo, value=https://castjournals.cast.org.cn/joweb/qcwz/CN/file/pic?fileId=wLaOR3KnYrzJXN7hXuyp1Q==, createTime=1761563293053, updateTime=1761563293053, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933366227612, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=minRunFlag, value=0, createTime=1761563293067, updateTime=1761563293067, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933332673174, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=picServerUrl, value=https://castjournals.cast.org.cn/joweb/qcwz/CN/file/pic, createTime=1761563293059, updateTime=1761563293059, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933362033307, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=silenceFlag, value=0, createTime=1761563293066, updateTime=1761563293066, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933324284565, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=staticResourcePath, value=https://castjournals.cast.org.cn/joweb/cast_kjdb_cn_619/, createTime=1761563293057, updateTime=1761563293057, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933345256088, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=themeColor, value=null, createTime=1761563293062, updateTime=1761563293062, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645933349450393, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359124066938, code=themeStyle, value=null, createTime=1761563293063, updateTime=1761563293063, creator=18614031015, updator=18614031015)]), Website(id=1189645359224730237, webName=null, webTitle=null, webDomain=null, webCopyrigh=null, webIpcNo=null, seoTitle=null, seoKeywords=null, seoDescription=null, tenantJournalId=null, journalId=1189645257101713411, journalNameCn=null, journalNameEn=null, grayFlag=null, tenantId=1146029695717560320, platformId=null, journalGroupId=null, journalGroupNameCn=null, journalGroupNameEn=null, type=1, domain=https://castjournals.cast.org.cn/joweb/qcwz/EN, language=EN, createTime=1761563156181, createBy=18614031015, updateTime=1761563214005, updateBy=18614031015, name=汽车文摘-英文, tplId=1146101810881728533, title=Automotive Digest, delFlag=0, indexPage=/home, props=[WebsiteProps(id=1189645970888471201, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=articleTextType, value=kx, createTime=1761563302013, updateTime=1761563302013, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970871693982, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=banner, value=null, createTime=1761563302009, updateTime=1761563302009, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970905248420, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=grayFlag, value=0, createTime=1761563302017, updateTime=1761563302017, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970863305373, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=logo, value=https://castjournals.cast.org.cn/joweb/qcwz/EN/file/pic?fileId=wLaOR3KnYrzJXN7hXuyp1Q==, createTime=1761563302007, updateTime=1761563302007, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970917831334, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=minRunFlag, value=0, createTime=1761563302020, updateTime=1761563302020, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970884276896, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=picServerUrl, value=https://castjournals.cast.org.cn/joweb/qcwz/EN/file/pic, createTime=1761563302012, updateTime=1761563302012, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970913637029, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=silenceFlag, value=0, createTime=1761563302019, updateTime=1761563302019, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970880082591, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=staticResourcePath, value=https://castjournals.cast.org.cn/joweb/cast_kjdb_en_623/, createTime=1761563302011, updateTime=1761563302011, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970892665506, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=themeColor, value=null, createTime=1761563302014, updateTime=1761563302014, creator=18614031015, updator=18614031015), WebsiteProps(id=1189645970896859811, tenantId=1146029695717560320, journalId=null, journalGroupId=null, siteId=1189645359224730237, code=themeStyle, value=null, createTime=1761563302015, updateTime=1761563302015, creator=18614031015, updator=18614031015)])], journalTitle=汽车文摘, weixinUrl=null, journalUrl=https://qcwz.cbpt.cnki.net/, iacademicId=null, status=1, seqNo=null, journalTitleEn=Automotive Digest, journalPhotoCn=luiJW6+BcEXciylORYcumg==, journalPhotoEn=O+ZP75C19YktWcRPOtyJBw==, journalFirstLetter=A, journalRecommend=null, journalNew=null, journalCollection=null, jcrJf=null, cjcrJf=null, jcrJfStr=null, cjcrJfStr=null, submissionFirstDecision=null, sciSubjectClassification=null, casSubjectClassification=null, citeScore=null, totalCitationFrequency=null, icpCode=null, psCode=null, advertisingLicenseCode=null, copyrightInformation=null, country=null, option=, provinceCode=null, provinceName=null, collectFlag=false), detailUrlCn=https://castjournals.cast.org.cn/joweb/qcwz/CN/10.19822/j.cnki.1671-6329.20240150, detailUrlEn=https://castjournals.cast.org.cn/joweb/qcwz/EN/10.19822/j.cnki.1671-6329.20240150, pdfUrlCn=https://castjournals.cast.org.cn/joweb/qcwz/CN/PDF/10.19822/j.cnki.1671-6329.20240150, pdfUrlEn=https://castjournals.cast.org.cn/joweb/qcwz/EN/PDF/10.19822/j.cnki.1671-6329.20240150, aliStartDate=null, aliEndDate=null, collectionFlag=false, citedCount=null, citedUrl=null, reference=null)
收藏切换
基于Jenkins的汽车电子软件持续集成技术研究
收藏切换
PDF下载
高德志 , 陈树星 , 王春锦 , 王恩东 , 王宗兴
汽车文摘 | 2025,(2): 13-17
收起
收藏切换
汽车文摘 | 2025, (2): 13-17
基于Jenkins的汽车电子软件持续集成技术研究
全屏
高德志, 陈树星, 王春锦, 王恩东, 王宗兴
作者信息
  • 一汽解放汽车有限公司商用车开发院, 长春 130011
Research on Continuous Integration Technology of Automotive Electronic Software Based on Jenkins
Dezhi Gao, Shuxing Chen, Chunjin Wang, Endong Wang, Zongxing Wang
Affiliations
  • Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011
出版时间: 2025-02-05 doi: 10.19822/j.cnki.1671-6329.20240150
文章导航
收藏切换

针对汽车电子软件开发工作中集成与测试工作繁杂重复、人为操作效率低的问题,设计了一种基于Jenkins的汽车发动机ECU软件持续集成系统。该方法在车载嵌入式软件开发技术中融合了Jenkins持续集成技术,将SVN软件版本管理、HighTec集成编译、目标控制器远程刷写、软件测试及报告通知环节整合成一个自动化流程,搭建了一个了基于Jenkins技术的汽车电子软件持续集成系统。该系统可大幅缩短软件迭代升级的开发周期,避免人为集成操作失误。

Jenkins  /  持续集成  /  汽车电子软件开发  /  SVN系统  /  邮件通知

Aiming at the problems of complicated and repetitive integration and testing which are inefficient in automotive electronics software development, a continuous integration system for automotive engine ECU software based on Jenkins is designed. This method combines Jenkins continuous integration technology and automotive embedded software development technology and connects development process nodes into an automated process which is called Jenkins-based electronics software continuous integration technology. The development process nodes include SVN software version management, HighTec integrated compilation, remote flashing of target ECU, software integration test and mail notification. This Jenkins system can substaintially shorten the development cycle of software iterative upgrades and avoid human integration operation errors.

Jenkins  /  Continuous integration  /  Automotive electronic software development  /  SVN system  /  Mail notification
高德志, 陈树星, 王春锦, 王恩东, 王宗兴. 基于Jenkins的汽车电子软件持续集成技术研究. 汽车文摘, 2025 , (2) : 13 -17 . DOI: 10.19822/j.cnki.1671-6329.20240150
Dezhi Gao, Shuxing Chen, Chunjin Wang, Endong Wang, Zongxing Wang. Research on Continuous Integration Technology of Automotive Electronic Software Based on Jenkins[J]. Automotive Digest, 2025 , (2) : 13 -17 . DOI: 10.19822/j.cnki.1671-6329.20240150
随着“软件定义汽车”趋势在行业内受到广泛认可,汽车电子软件开发在整车研发流程中的重要性日益凸显。汽车电子软件开发是指在车规级芯片电控单元(Electronic Control Unit,ECU)上进行的软件程序开发,该过程包括需求分析、架构设计、代码开发、集成测试以及释放验证。实际开发项目中产品软件不断迭代升级,工程师频繁集成最新的软件提交物,这要求工程师在专注于需求分析与模块代码开发的同时,还需投入大量精力处理软件配置管理、代码集成编译、测试及通知等环节,造成研发资源浪费。为解决汽车电子软件开发这一痛点,亟需一种自动化集成方法,提高汽车电子软件迭代升级的效率。
自动化持续集成是一种可以提高软件开发效率和质量的重要实践方法。通过构建自动化的开发集成流程,开发人员可以更快地完成软件交付,并降低错误率。当前在消费电子及IT领域,自动化持续集成方案已广泛使用。相比传统软件行业领域,持续集成技术在汽车电子软件领域尚待推广应用。本文针对汽车电子软件自动化持续集成技术,以目前主流的PowerPC多核架构芯片嵌入式软件研发平台工具链为例,搭建一种基于Jenkins技术的软件持续集成系统。该系统利用功能丰富、开源免费的Jenkins软件,将汽车电子软件开发工作中的软件版本管理、集成编译、目标控制器刷写、软件集成测试及报告通知等标准流程化的操作进行持续自动化执行。
持续集成系统一般由持续集成引擎、软件配置管理系统、集成编译调试系统、测试系统以及监控通知系统组成,如图1所示。持续集成系统旨在满足敏捷软件开发[1]的需求。相比于人工集成,持续集成系统分2步实现:(1)各子系统实现自动化运行。(2)持续集成引擎驱动各子系统实现整个持续集成系统运转。
持续集成引擎通过构建标准流程化任务实现监控自动化任务执行。Jenkins是一个基于Java语言开发的可扩展的持续集成引擎,是由Hudson[2]技术发展而来的开源免费的持续集成基础工具。Jenkins具有便捷的拓展接口,可以满足不同系统方案需求,如任务构建、测试通知以及软件部署。Jenkins的开放生态为用户提供了丰富的插件资源,主要包括版本控制、构建工具、代码质量度量、构建通知、外部系统集成以及用户界面定制化,这些插件开源免费且具有较高时效性。
配置管理是指在软件产品开发过程中,对整个生命周期实施的一系列控制和管理措施,主要包括配置计划管理、版本库管理以及变更控制管理。当前主流的配置管理系统有Meran公司的PVCS(Project Version Control System)、Rational公司的ClearCase以及Collabnet提供的开源工具SVN(SubVersioN)。
SVN采用服务器/客户机(Client/Server)模式运行。Server端通过中央资料档案库(Repository)管理数据的变更时间及版本信息。软件开发项目中的各种版本的程序源码均存储在服务器上,程序开发人员作为客户端可以从服务器获取最新版本数据进行开发工作,也可以随时提交更新后的任务包。
配置管理与持续集成引擎的结合是持续集成系统的关键,设计目标是当开发人员上传提交物时,SVN可以检测到Repository中的内容变更并自动触发Jenkins相关脚本任务执行。
编译器是一种可以将高级软件语言的程序生成目标机器可执行程序的软件工具。HighTec编译器适用于PowerPC多核架构芯片,可以提供面向嵌入式系统软件工程的集成开发环境,支持软件编辑、编译链接及调试功能。HighTec编译器内核支持脚本语言开发,通过驱动HighTec工程的自动化脚本程序,实现持续集成系统的自动编译功能。
调试器是一种用于控制软件运行、查看软件运行状态及信息、调整软件执行流程的软件开发辅助工具。嵌入式系统调试器兼有对目标板下载刷写功能。iSYSTEM调试仿真器可适用于PowerPC多核架构芯片调试。winIDEA集成调试环境可与iSYSTEM硬件进行交互操作。winIDEA调试环境提供了丰富的接口功能,通过调用iSYSTEM. Connect API接口,可实现外部应用程序对iSYSTEM进行远程控制,进而实现对目标硬件的刷写和调试操作,为持续集成系统配置远程刷写功能配置提供了技术方案。
软件开发过程中需执行测试用例以验证软件功能,并反馈验证结果通知。软件迭代持续升级阶段需大量测试以保证未修改的软件功能正确运行。软件回归测试通过对原有功能测试确保新修改软件中的原有功能保持正常运行,测试用例一般在已有的测试用例库中选取代码静态测试是迭代升级阶段保证软件质量的重要手段。Ployspace是一种利用语义分析技术进行软件代码静态测试的工具,在MATLAB环境中,通过加载目标代码,其可便捷地进行软件编程规范检查与程序静态结构分析。
软件测试的自动化技术随着汽车电子软件测试技术的发展,工具接口越来越丰富化。持续集成系统在测试任务中,可直接驱动接口执行自动化测试。在回归测试阶段,持续集成系统通过驱动接口调用已有的自动化测试用例库执行。Jenkins持续集成引擎可以提供邮件通知功能,也可以通过扩展插件接口集成定制的通知系统,将测试报告发送至相关工程师,工程师根据结果决定进行发布或继续迭代优化。
Jenkins持续集成系统对基于苏州国芯CCFC3007PT芯片的发动机控制器开发平台进行设计,整合开发流程中的SVN工具进行软件版本同步,整合HighTec编译工具及iSYSTEM调试工具实现编译下载,整合Polyspace、CANoe工具以及Mail系统实现软件测试及报告通知,如图2所示。
选取工作站电脑搭建Jenkins软件持续集成系统服务器,其环境参数如表1所示。Jenkins是基于Java开发的一种持续集成工具,Windows操作系统中仍需安装Java环境。Jenkins安装部署的默认端口号8080为常用端口号,为避免与系统中其他服务端口冲突,系统选用8081端口进行安装,指令如下:
CMD指令:java -jar jenkins.war --httpPort=8081
Jenkins持续集成系统服务器可以通过任意客户端电脑IP访问服务器端,进行工程任务配置及任务执行状态的查看。
待集成软件通过SVN客户端上传至SVN服务器,SVN服务器的版本管理系统将提交软件的版本管理信息、变更原因载入SVN数据库。Jenkins持续集成系统通过开源插件Subversion获取SVN数据库访问权限,将待集成的软件远程下载、版本同步至持续集成系统服务器。Jenkins持续集成系统通过配置定时任务和HOOK机制触发持续集成服务器与SVN服务器代码同步。HOOK机制[3]在SVN服务器端负责驱动post-commit脚本,该脚本负责触发Jenkins启动任务,脚本关键内容如下:
HOOK脚本指令:
H:\curl\bin\curl.exe
http://admin:GaoDZ@10.60.175.14:8081/job/CI_Jenkins_
SVN_HighTec_winIDEA/build?token=Jenkins
SVN触发持续集成系统构建任务后,Jenkins控制台将提交SVN时的备注作为任务执行的触发描述,提交代码时须附清晰合理的变更描述,如图3所示。
PowerPC多核架构CCFC3007PT芯片软件开发项目选用HighTec作为编译器工具。HighTec编译器通过集成开发环境进行嵌入式软件工程环境配置、代码编辑以及软件编译,编译生成的二进制可执行文件用于CCFC3007PT芯片刷写。持续集成系统HighTec编译器使用命令行方式通过make指令执行编译操作,关键指令如下:
make指令:-clean清除已有输出文件,重新构建。
持续集成系统自动编译系统搭建步骤:(1)持续集成服务器对SVN同步的软件工程进行HighTec编译器配置,完成编译环境搭建。(2)利用make指令通过命令行脚本的方式实现脚本化运行HighTec编译。(3)Jenkins系统任务中添加make指令脚本完成编译任务设置,如图4所示。
持续集成系统自动编译成功后,调用Jenkins集成安装路径下IC5000调试器的集成调试环境winIDEA以加载工作空间的配置信息,并自动下载代码至目标板。
持续集成系统自动刷写系统搭建步骤:
(1)持续集成服务系统中对编译成功的软件工程搭建winIDEA环境。目标调试器设置为IP地址远程访问,刷写端口类型设置为DAP2,将刷写文件列表及路径与HighTec的输出文件关联,winIDEA工程配置信息以“.xjrf”类型的文件形式保存。
(2)利用iSYSTEM提供的Python软件开发工具包中的isystem.connect类函数,加载winIDEA工程配置,用以下Python脚本执行连接、下载、运行操作。
Python指令:
# 连接winIDEA加载项目配置
cmgr = ic.ConnectionMgr()
cmgr.connectMRU(r'H:\bat\ECU.xjrf')
# 执行下载、运行
dbg = ic.CDebugFacade(cmgr)
dbg.download()
dbg.run()
(3)与自动编译系统类似,Jenkins持续集成系统任务中驱动Python脚本完成刷写任务设置。
持续集成系统完成编译、下载和运行后,测试环节通过Jenkins的任务构建命令驱动测试程序自动运行[4],因此持续集成系统测试环节的先决条件是具备可运行的测试工具软件。本系统以Polyspace静态代码测试为例,持续集成系统自动检测系统搭建步骤如下:
(1)持续集成服务器为目标软件工程建立Code Prover与Bug Finder检测的Polyspace工程。
(2)编写命令行自动化脚本调用Polyspace工程运行Code Prover与Bug Finder检测,设置报告文件名称、报告模板、文档格式及输出路径,关键指令如下:
CMD指令:
"..\\polyspace-code-prover-nodesktop.exe"
-langC-options-file "..\\options_command.txt"
-report-template "..\\Developer.rpt"
-report-output-format pdf
-report-output-name CP_Result
-results-dir "..\\CP_Result"
(3)Jenkins持续集成系统任务中驱动Ployspace测试运行脚本完成静态测试任务设置。
除静态测试外,持续集成系统在目标板上触发软件运行后,可远程驱动功能测试系统运行,如硬件在环(Hardware In Loop,HIL)测试系统[5]。针对基于CANoe[6]、CANdiva等工具自主开发的CAPL(Communication Access Programming Language)是一种专门用于控制器局域网络(Controller Area Network,CAN)通信和诊断的脚本语言,由Vector公司开发测试用例库,Jenkins通过调用canoe32.exe脚本执行测试用例文件[7],实现定制功能测试系统运行。
持续集成系统通过Jenkins自有邮件通知系统将模块工程师、集成工程师及下一环节接口工程师作为邮件接收人,邮件正文的内容列举持续集成系统的项目名称、SVN库路径、版本管理信息[8]、触发集成原因以及Jenkins持续集成系统内部状态信息,如图5所示。邮件通过格式重点突出持续集成任务[9]的最终结果,通过附件提供编译记录和测试报告持续集成过程细节。
Jenkins持续集成系统中,工程师使用SVN客户端提交软件模块,SVN服务器检测提交物检入成功,触发持续集成服务器Jenkins_SVN_HighTec_winIDEA项目,依次执行代码版本同步、HighTec编译、iSYSTEM刷写以及Polyspace静态测试,将每个环节的执行结果进行邮件通知。全部流程在无人值守的情况下Jenkins持续集成系统平均用时12 min,同样的环节人工集成平均用时21 min,由此可得基于Jenkins技术的软件持续集成技术有效缩短汽车电子软件集成时间,同时降低人为操作失误的影响。
本文提出了一种基于Jenkins的汽车电子软件持续集成技术,以CFCC3007PT芯片方案的控制器开发为平台,通过Jenkins的强大驱动功能,实现了软件版本集成、编译下载、测试以及邮件通知等环节的自动执行[10]。未来自动化测试技术不断发展,可进一步提高软件开发效率,精简集成测试环节的人力投入。
持续集成技术的广泛应用加速了软件行业的发展,基于Jenkins的汽车电子软件持续集成技术的应用助推了“软件定义汽车”的行业变革转型。未来汽车电子架构中为满足汽车“电动化、智能化、网联化、共享化”要求,软件功能将以智能应用软件的形式存在。不断升级的车载智能应用软件衍生更多软件集成需求,届时持续不断的交付发布软件、提高软件的时间附加值、抢占软件发布的市场先机将是Jenkins持续集成技术最为重要的作用。
参考文献 引证文献
排序方式:
[1]
田莉. 论如何借鉴敏捷软件开发方法来改进软件项目管理[C]// 第三十二届中国(天津)2018'IT、网络、信息技术、电子、仪器仪表创新学术会议论文集, 2018: 330-333.
[2]
牛璟. 分布式系统中的持续集成系统的研究与实现[D]. 上海: 复旦大学, 2012.
[3]
姜文, 刘立康. 基于SVN的应用软件持续集成[J]. 计算机测量与控制, 2016, 24(3): 109-113.
[4]
李英玲, 王青. 持续集成测试用例集优化综述研究[J]. 软件学报, 2018, 29(10): 3021-3050.
[5]
车晓镭. 汽车动力总成电控单元硬件在环测试系统研究[D]. 长春: 吉林大学, 2011.
[6]
钱俊磊. 基于CANoe和Jenkins的ECU软件自动化测试系统的设计与实现[J]. 汽车实用技术, 2019(22): 64-67.
[7]
徐永新, 朱娟, 王裕鹏. 基于ECU_TEST的ECU报文自动测试研究与应用[J]. 汽车电器, 2018(10): 71-74.
[8]
王静, 夏禹. 一种汽车软件的版本管理方法,系统及介质: 202410109232[P]. 2024-07-23.
[9]
徐江川. 装置, 集群部署方法,车辆和存储介质: 202311114096[P]. 2024-07-23.
[10]
谢众玉, 王功亮, 刘西学, 等. 一种汽车软件持续集成测试方法及系统: 202310822237[P]. 2024-07-23.
2025年第卷第2期
PDF下载
224
97
引用本文
BibTeX
文章信息
doi: 10.19822/j.cnki.1671-6329.20240150
  • 首发时间:2025-11-12
  • 出版时间:2025-02-05
补充材料
相关文章
文章信息
作者
出版历史
基金
作者信息
    一汽解放汽车有限公司商用车开发院, 长春 130011
参考文献
分享链接
https://castjournals.cast.org.cn/joweb/qcwz/CN/10.19822/j.cnki.1671-6329.20240150
分享至
全文二维码

扫描看全文

引用本文
BibTeX
本文的引用情况
2种不同金属材料的力学参数

Family
属数
Number of
genus
种数
Number of
species
占总种数比例
Percentage of
total species (%)

Genus
种数
Number of
species
占总种数比例
Percentage of total
species (%)
鹅膏菌科Amanitaceae 2 11 5.26 鹅膏菌属 Amanita 10 4.78
小菇科 Mycenaceae 2 12 5.74 丝盖伞属 Inocybe 5 2.39
多孔菌科 Polyporaceae 8 14 6.70 蜡蘑属 Laccaria 5 2.39
红菇科 Russulaceae 3 23 11.00 小皮伞属 Marasmius 6 2.87
小菇属 Mycena 11 5.26
光柄菇属 Pluteus 5 2.39
红菇属 Russula 17 8.13
栓菌属 Trametes 5 2.39
关闭全屏