使用持续集成开发和集成软件
持续集成(CI)是将代码更改频繁地集成到共享存储库中的实践。它通过自动化和标准化诸如构建代码、测试和打包等活动来提高团队吞吐量和软件质量。例如,每当开发人员将新提交的更改推送到远程存储库时,持续集成平台可以自动运行一套测试,以确保更改不会在远程存储库的目标分支中引起任何冲突。
持续集成的好处包括:
在软件中发现问题,并在出现问题后尽快修复它们。
增加更多的特性,同时减少调试代码所需的资源。
通过在持续的基础上执行集成来最小化集成和部署开销。
清楚地传达软件的状态和对其所做的更改。
持续集成工作流程
使用持续集成的典型软件开发工作流包括以下几个步骤:
克隆远程存储库并创建一个特性分支
编辑文件并将更改提交到本地存储库
将提交的更改推到远程存储库(这会触发任务的自动化管道,例如在CI平台上编译MEX文件、运行测试和打包工具箱)
分析CI平台生成的报告,并修复管道中的错误
通过拉请求将远程特性分支合并到主分支中(这会触发CI平台上的另一个自动化任务管道)
分析CI平台生成的报告并解决合并失败
该图显示了使用Jenkins的开发周期示例®CI服务器和开源源代码管理工具,如Git™和GitHub®.有关如何连接MATLAB的信息®詹金斯,看在Jenkins服务器上运行MATLAB测试.
阶段1:在本地存储库中开发和验证特性
开发一个特性并将您的更改提交到本地存储库:
克隆GitHub存储库并创建一个新的特性分支。
对现有文件进行更改或适当地添加新文件。
运行MATLAB和Simuli金宝appnk®测试以限定更改并将其提交到本地存储库。
阶段2:在持续集成平台上运行自动化管道
当你将你的更改推送到远程存储库或当你进行pull请求时,运行一个自动化的任务管道(包括测试):
通过将已提交的更改推到GitHub或通过发出pull请求将远程功能分支合并到主分支中,在Jenkins上触发一个自动的任务管道。
Jenkins运行自动化管道,包括MATLAB和Simulink测试,并生成项目配置中指定的工件。金宝app
阶段3:调查和解决故障
如果您没有成功地推动您的更改或提出拉请求,请遵循以下步骤:
检查自动化管道结果和生成的测试工件。对代码进行适当的更改。
通过将您的更改推送到GitHub或发出pull请求,在Jenkins上触发一个新的管道。
集成工程师可以使用Jenkins测试构件来决定何时将特性分支合并到主分支中。
与MathWorks产品的持续集成下载188bet金宝搏
您可以在各种连续积分平台上使用MATLAB进行连续积分。您可以运行和测试MATLAB代码和Simulink模型,生成工件,并将结果发布到平台金宝app上。有关更多信息,请参见CI平台上MATLAB的持续集成.
除了MATLAB,不同的工具箱支持持续集成工作流。金宝app下表列出了模型和代码的常见持续集成用例。
工具箱 | 用例 | 更多的信息 |
---|---|---|
金宝app |
|
关于项目的源代码控制(金宝app模型) 使用Git的项目(金宝app模型) 共享Simu金宝applink缓存文件以实现更快的仿真(金宝app模型) 金宝appGitHub Pull请求的Simulink模型比较(金宝app模型) |
金宝app仿真软件测试™ | 在CI平台上运行测试文件并使用收集CI兼容的覆盖率金宝app仿真软件覆盖™ |
持续集成(金宝app仿真软件测试) |
金宝app模型检查™ | 使用Jenkins检测模型中的度量阈值违反 |
修正持续集成系统工作流中的度量阈值冲突(金宝app仿真软件检查) |
要求工具箱™ | 总结在CI平台上运行的测试的需求验证结果 | 在验证状态中包括外部来源的结果(需求工具箱) |
Polyspace®Bug Finder™服务器™,Polyspace Code Prover™服务器 |
|
在持续集成期间在服务器上设置Bug查找器分析(Polyspace Bug Finder) 在持续集成期间,在服务器上设置代码验证器分析(Polyspace Code Prover) |