主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

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

持续集成 (CI) 的做法是频繁地将代码更改合并到共享中央存储库中。CI 通过自动化和标准化活动(如编译代码、测试和打包)来提高团队吞吐量和软件质量。例如,每次开发人员将代码更改推送到中央存储库时,持续集成平台都可以自动运行一套测试,以确认这些更改不会在中央存储库的目标分支中引起任何冲突。

持续集成的好处包括:

  • 在软件问题引入后尽快发现和解决

  • 添加更多功能,同时减少调试代码所需的资源

  • 通过持续集成更改来最小化集成和部署开销

  • 清晰地传达软件的状态及其最近的变化

持续集成工作流

典型的持续集成工作流涉及三个阶段的几个步骤:

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

开发一项功能并将您的更改提交到本地存储库:

  1. 克隆中央存储库并创建一个新的功能分支。

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

  3. 运行 MATLAB® 和 Simulink® 测试来验证更改并将更改提交到本地存储库。

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

当您将更改推送到中央存储库或发出取回请求时,运行自动化任务管道(包括测试):

  1. 将提交的更改推送到中央存储库或提出拉取请求以将您的功能分支合并到主分支(这会触发自动化任务管道,如编译 MEX 文件、运行 MATLAB 和 Simulink 测试和在 CI 平台上进行工具箱打包)。

  2. CI 平台运行该自动化管道并根据工程配置中的设定生成工件。

阶段 3:调查和解决失败问题

如果您无法成功推送更改或发起取回请求,请按照以下步骤操作:

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

  2. 通过将更改推送到中央存储库或提出拉取请求来在 CI 平台上触发新管道。

集成工程师可以使用 CI 平台工件来决定何时将功能分支合并到主分支中。

此图显示使用 Jenkins® 作为 CI 平台和 Git™ 以及 GitHub® 作为源代码管理工具的持续集成工作流的示例。有关如何将 MATLAB 与 Jenkins 结合使用的信息,请参阅在 Jenkins 服务器上运行 MATLAB 测试。有关与 Git 和 Subversion® (SVN) 的内置集成的详细信息,请参阅 MATLAB 中的源代码管理集成

Example of the continuous integration workflow

MathWorks 产品的持续集成

您可以在各种 CI 平台上使用 MATLAB 执行持续集成。您可以运行并测试您的 MATLAB 代码和 Simulink 模型,生成工件,并将结果发布到平台。有关详细信息,请参阅在 CI 平台上与 MATLAB 的持续集成

除了 MATLAB,各种不同工具箱都支持持续集成工作流。下表列出了代码和模型的常见持续集成用例。

工具箱用例更多信息
Simulink

  • 用于仿真和代码生成的缓存文件。

  • 将模型比较报告附加到拉取和合并请求。

  • 在 CI 平台上自动合并模型。

Simulink Test™

使用 Simulink Coverage™ 在 CI 平台上运行测试文件并收集 CI 兼容的覆盖率。

持续集成 (Simulink Test)

Simulink Check™

向您的团队部署自动化流程,以帮助他们识别、自动化和完成开发和验证活动。

持续集成 (Simulink Check)

Requirements Toolbox™总结在 CI 平台上运行的测试的需求验证结果。

在验证状态中包含来自外部来源的结果 (Requirements Toolbox)

Polyspace® Bug Finder™ Server™, Polyspace Code Prover™ Server
  • 作为持续集成的一部分,对 C/C++ 代码运行 Polyspace 分析。

  • 将分析结果(错误、运行时错误或编码标准违规)上传到 Polyspace Access™ Web 界面进行审核。

  • 发送包含 Polyspace Bug FinderPolyspace Code Prover 结果的电子邮件通知。

另请参阅

函数

命名空间

主题

外部网站