使用持续集成开发和集成软件

持续集成(CI)是一种常见的基础上集成代码转变为共享存储库的做法。它通过自动化和标准化活动,如建筑规范,测试和包装提高了团队的吞吐量和软件质量。例如,每次开发商推到远程存储库的新提交的变化,持续集成平台可以自动运行一系列测试,以确保更改不会导致远程仓库的目标分支的任何冲突。

持续集成的好处包括:

  • 在发现软件问题并介绍后,他们很快会有固定。

  • 添加更多的功能,同时降低了代码调试所需要的资源。

  • 通过连续的基础上进行整合最大限度地减少集成和部署费用。

  • 清楚地传达软件的状态以及对软件所做的更改。

持续集成的工作流

一个典型的软件开发流程中使用持续集成涉及几个步骤:

  1. 克隆远程仓库和创建一个特性分支

  2. 编辑文件并提交更改到本地仓库

  3. 推到远程存储库提交更改(触发任务,如编译MEX文件,包装工具箱,和CI平台上测试的自动化流水线)

  4. 分析CI平台生成的报告并修复管道中的错误

  5. 合并所述远程特性分支到主分支通过上拉请求(触发任务的其他自动管道CI平台上)

  6. 分析CI平台生成的报告并解决合并失败

此图显示了使用詹金斯™CI服务器和开放源代码的源代码管理工具,如Git的™和GitHub的开发周期的一个例子®。有关如何接口MATLAB的信息®与詹金斯,看运行MATLAB测试詹金斯服务器上

阶段1:在本地存储库中开发和限定特性

开发一个特性并将您的更改提交到本地存储库:

  1. 克隆GitHub的仓库,并创建一个新的特性分支。

  2. 根据需要对现有文件进行更改或添加新文件。

  3. 运行MATLAB和Simuli万博1manbetxnk®测试资格的变化,并将其提交到本地仓库。

第2阶段:运行自动化流水线上连续集成平台

运行任务(包括测试),当你把你的更改到远程仓库,或当你犯了一个拉请求的自动化流水线:

  1. 触发任务对詹金斯的自动化流水线推到GitHub上提交的修改或者通过拉请求发送到远程特性分支合并到主分支。

  2. 詹金斯运行自动管路,包括MATLAB和Simulink测试,并且如在项目配置中指定生成的伪影。万博1manbetx

阶段3:调查并解决故障

如果你不能成功地推送你的变更或请求拉,请遵循以下步骤:

  1. 检查自动管道结果和所生成的测试工件。让你的代码相应的更改。

  2. 通过推你改变的GitHub或者通过拉请求触发对詹金斯一个新的管道。

集成工程师可以使用Jenkins测试工件来决定何时将特性分支合并到主分支。

持续集成与MathWorks产品的s manbetx 845

您可以使用MATLAB测试框架来创建一个测试套件和测试运行,并定制测试运行的持续集成的工作流与在插件类matlab.unittest.plugins包。例如,XMLPlugin类创建一个插件,该插件生成junit样式的XML输出TAPPlugin类创建一个插件,该插件生成一个Test Anything协议(TAP)流。

MATLAB使用MATLAB的Jenkins插件与Jenkins集成。插件使您能够轻松地运行MATLAB和Simulink测试并生成工件,例如junit风格的测试结果、TAP测万博1manbetx试结果以及Cobertura代码或模型覆盖率报告。有关更多信息,请参见詹金斯插件MATLAB

不同的工具箱支持持续集成工作流。万博1manbetx这个表格列出了模型和代码的通用持续集成用例。

工具箱 使用案例 更多信息
万博1manbetx

  • 构建和测试模型和项目

  • 用于模拟和代码生成的缓存文件

关于项目的源代码控制(万博1manbetxSimulink的)

使用Git的项目(万博1manbetxSimulink的)

共享Simu万博1manbetxlink缓存文件以更快地模拟(万博1manbetxSimulink的)

万博1manbetx仿真软件测试™

在CI平台上运行测试文件,并使用万博1manbetxSimulink的覆盖™

持续集成(万博1manbetxSimulink的测试)

万博1manbetxSimulink的检查™

使用詹金斯检测模型指标阈值违规

修正了一个持续集成的系统工作流指标阈值违规(万博1manbetx仿真软件检查)

万博1manbetxSimulink的要求™ 总结在CI平台上运行的测试的需求验证结果

包括验证状态从外部来源结果(万博1manbetxSimulink中的要求)

Polyspace®错误查找™服务器™Polyspace代码验证服务器

  • 在C/ c++代码上运行多空间分析,作为持续集成的一部分,例如与Jenkins

  • 上传审核分析结果(错误,运行时错误,或编码标准违规)在Polyspace访问Web界面

  • 发送电子邮件通知Polyspace Bug Finder或Polyspace代码验证结果

运行错误查找分析服务器上在持续集成(Polyspace Bug的搜索服务器)

在持续集成期间在服务器上运行代码验证分析(Polyspace代码证明者服务器)

也可以看看

相关的话题

外部网站