主要内容

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

持续集成(CI)是将代码更改频繁地集成到共享存储库中的实践。它通过自动化和标准化诸如构建代码、测试和打包等活动来提高团队吞吐量和软件质量。例如,每当开发人员将新提交的更改推送到远程存储库时,持续集成平台可以自动运行一套测试,以确保更改不会在远程存储库的目标分支中引起任何冲突。

持续集成的好处包括:

  • 在软件中发现问题,并在出现问题后尽快修复它们。

  • 增加更多的特性,同时减少调试代码所需的资源。

  • 通过在持续的基础上执行集成来最小化集成和部署开销。

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

持续集成工作流程

使用持续集成的典型软件开发工作流包括以下几个步骤:

  1. 克隆远程存储库并创建一个特性分支

  2. 编辑文件并将更改提交到本地存储库

  3. 将提交的更改推到远程存储库(这会触发任务的自动化管道,例如在CI平台上编译MEX文件、运行测试和打包工具箱)

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

  5. 通过拉请求将远程特性分支合并到主分支中(这会触发CI平台上的另一个自动化任务管道)

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

该图显示了使用Jenkins的开发周期示例®CI服务器和开源源代码管理工具,如Git™和GitHub®.有关如何连接MATLAB的信息®詹金斯,看在Jenkins服务器上运行MATLAB测试

使用持续集成的开发周期示例

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

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

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

  2. 对现有文件进行更改或适当地添加新文件。

  3. 运行MATLAB和Simuli金宝appnk®测试以限定更改并将其提交到本地存储库。

阶段2:在持续集成平台上运行自动化管道

当你将你的更改推送到远程存储库或当你进行pull请求时,运行一个自动化的任务管道(包括测试):

  1. 通过将已提交的更改推到GitHub或通过发出pull请求将远程功能分支合并到主分支中,在Jenkins上触发一个自动的任务管道。

  2. Jenkins运行自动化管道,包括MATLAB和Simulink测试,并生成项目配置中指定的工件。金宝app

阶段3:调查和解决故障

如果您没有成功地推动您的更改或提出拉请求,请遵循以下步骤:

  1. 检查自动化管道结果和生成的测试工件。对代码进行适当的更改。

  2. 通过将您的更改推送到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™服务器

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

  • 上传分析结果(bug、运行时错误或编码标准违反),以便在Polyspace Access web界面中进行审查

  • 用Polyspace Bug Finder或Polyspace Code Prover结果发送电子邮件通知

在持续集成期间在服务器上设置Bug查找器分析(Polyspace Bug Finder)

在持续集成期间,在服务器上设置代码验证器分析(Polyspace Code Prover)

另请参阅

相关的话题

外部网站