构建 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 将以非零退出代码终止,这会导致构建失败。您可以在代码中使用 assert
或 error
函数来确保在必要时构建失败。
另请参阅 #
使用 MATLAB 和 Simulink 进行持续集成
持续集成 (MATLAB)
持续集成 (Simulink 测试)