构建 MATLAB 项目

本指南涵盖的内容 #

本指南涵盖了特定于 MATLAB®Simulink® 项目的构建环境和配置主题。请务必先阅读我们的 教程通用构建配置 指南。

目前,MATLAB 构建仅适用于 Linux® 环境中的公共项目。

社区支持的语言 #

MATLAB 语言由 MathWorks® 维护。如果您有任何疑问或建议,请通过 continuous-integration@mathworks.com 联系 MathWorks。

指定 MATLAB 版本并运行测试 #

使用 matlab 键指定 MATLAB 版本。您可以指定 R2020a 或更高版本。如果您未指定版本,Travis CI 将使用最新版本的 MATLAB。

language: matlab
matlab:
  - latest  # Default MATLAB release on Travis CI
  - R2020a

当您在 .travis.yml 中包含 language: matlab

  • Travis CI 会在基于 Linux 的构建代理上安装指定的 MATLAB 版本。如果您未指定版本,Travis CI 将安装最新版本的 MATLAB。
  • MATLAB 会运行您存储库中的测试,如果任何测试失败,则构建失败。

如果您的源代码在 MATLAB 项目 中的文件和文件夹内组织,则 MATLAB 将运行项目中已标记为 Test 的任何测试文件。如果您的代码没有利用 MATLAB 项目,则 MATLAB 将运行存储库根目录中的所有测试,包括其子文件夹。

您可以通过创建测试运行器并使用 matlab.unittest.plugins 包中的插件类自定义运行器来覆盖默认测试运行并生成工件。有关如何指定和运行 MATLAB 命令的更多信息,请参阅 运行自定义 MATLAB 命令

运行自定义 MATLAB 命令 #

您可以在 .travis.yml 中指定 script 键以构建 language: matlab 提供的功能。要在您的管道中运行自定义 MATLAB 命令,请使用带 -batch 选项的 matlab 命令。matlab -batch 以非交互方式启动 MATLAB 并运行指定的脚本、函数或语句。例如,使用最新版本的 MATLAB 调用 disp 函数。

language: matlab
script: matlab -batch 'disp("Hello World")'

如果您需要指定多个 MATLAB 命令,请使用逗号或分号分隔命令。

language: matlab
script: matlab -batch 'results = runtests, assertSuccess(results);'

您可以将 MATLAB 脚本或函数作为存储库的一部分编写并执行此脚本或函数。例如,使用 MATLAB R2020a 运行存储库根目录中名为 myscript.m 的文件中的命令。(要运行 MATLAB 脚本或函数,请不要指定文件扩展名。)

language: matlab
matlab: R2020a
script: matlab -batch 'myscript'

如果指定的脚本、函数或语句成功执行且无错误,则 MATLAB 将退出代码 0。否则,MATLAB 将以非零退出代码终止,这会导致构建失败。您可以在代码中使用 asserterror 函数来确保在必要时构建失败。

另请参阅 #

使用 MATLAB 和 Simulink 进行持续集成
持续集成 (MATLAB)
持续集成 (Simulink 测试)