使用持续集成模式开发和集成软件
持续集成 (CI) 的做法是频繁地将代码更改集成到共享存储库中。它通过自动化和标准化活动(如编译代码、测试和打包)来提高团队吞吐量和软件质量。例如,每次开发人员将新提交的更改推送到远程存储库时,持续集成平台都可以自动运行一套测试,以确保这些更改不会在远程存储库的目标分支中引起任何冲突。
持续集成的好处包括:
-
在软件引入问题后尽快发现和解决这些问题。
-
添加更多功能,同时减少调试代码所需的资源。
-
通过持续执行集成,最大限度地降低集成和部署开销。
-
清楚地传达软件的状态和对它所做的更改。
持续集成工作流
使用持续集成的典型软件开发工作流包括下列几个步骤:
-
克隆远程存储库并创建功能分支
-
编辑文件并将更改提交到本地存储库
-
将提交的更改推送到远程存储库(这会触发一个自动化任务管道,如编译 MEX 文件、运行测试和在 CI 平台上进行工具箱打包)
-
分析 CI 平台生成的报告并修复管道中的错误
-
通过取回请求将远程功能分支合并到主分支中(这将触发 CI 平台上的另一个自动化任务管道)
-
分析 CI 平台生成的报告并解决合并失败问题
下图显示使用 Jenkins
®
CI 服务器和开源源代码管理工具(如 Git™ 和 GitHub
®
)的开发周期示例。有关如何将 MATLAB
®
与 Jenkins 对接的信息,请参阅
在 Jenkins 服务器上运行 MATLAB 测试
。
阶段 1:在本地存储库中开发和验证功能
开发一项功能并将您的更改提交到本地存储库:
-
克隆 GitHub 存储库并创建一个新的功能分支。
-
根据需要对现有文件进行更改或添加新文件。
-
运行 MATLAB 和 Simulink
®
测试来验证更改并将其提交到本地存储库。
阶段 2:在持续集成平台上运行自动化管道
当您将更改推送到远程存储库或发出取回请求时,运行自动化任务管道(包括测试):
-
通过将提交的更改推送到 GitHub 或通过发起取回请求来将远程功能分支合并到主分支中,触发 Jenkins 上的自动化任务管道。
-
Jenkins 运行该自动化管道,包括 MATLAB 和 Simulink 测试,并生成工程配置中指定的工件。
阶段 3:调查和解决失败问题
如果您无法成功推送更改或发起取回请求,请按照以下步骤操作:
-
检查自动化管道结果和生成的测试工件。对代码进行适当的更改。
-
通过将您的更改推送到 GitHub 或发起取回请求,在 Jenkins 上触发新管道。
集成工程师可以使用 Jenkins 测试工件来决定何时将功能分支合并到主分支中。
与 MathWorks 产品的持续集成
您可以在各种持续集成平台上执行与 MATLAB 的持续集成。您可以运行并测试您的 MATLAB 代码和 Simulink 模型,生成工件,并将结果发布到平台。有关详细信息,请参阅
在 CI 平台上与 MATLAB 的持续集成
。
除了 MATLAB,各种不同工具箱都支持持续集成工作流。下表列出了模型和代码的常见持续集成用例。
另请参阅
matlab.unittest.plugins 包
相关主题
外部网站
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window.
Web browsers do not support MATLAB commands.
MathWorks
Accelerating the pace of engineering and science
MathWorks
is the leading developer of mathematical computing software for engineers and scientists.
Discover...