人在仿真软件金宝app

金宝appSimulink &基于模型的设计

与Simulink项目和Simulink测试持续集成金宝app

几天前,我的同事马里亚诺发表了Developer Zone上的一篇博客文章描述了当更改被推送到Git存储库分支时,如何在持续集成服务器上运行MATLAB测试套件。

正如您可能猜到的,当我看到这一点时,我必须在Simulink上下文中实现它。金宝app让我们看看结果如何。

大局

以下是工作流程的总体图:

金宝app仿真软件Project-Git-Jenkins工作流

主要步骤有:

  • 我们有一个金宝app仿真软件项目将源代码控制集成配置为GitLab存储库
  • 在Simuli金宝appnk项目中,我们使用金宝app仿真软件测试
  • 每次我们提交和推送更改到Git存储库的特定分支时,远程存储库就会通知詹金斯服务器
  • 一旦收到通知,Jenkins服务器就会提交,启动MATLAB,打开Simulink项目并运行Simulink Test测试套件金宝app
  • 如果测试通过,Jenkins服务器将在GitLab中创建一个合并请求。
  • 如果测试失败,则会保存Simulink测试金宝app结果,并在GitLab中创建一个bug问题。

保存Simulink Test会话的最后一步非常重要。金宝app正如您将在下面看到的,它允许我在不重新运行失败的测试的情况下在本地分析模拟结果,如果我正在测试的模拟需要很长时间来模拟,那么可以节省我很多时间。

现在是时候讨论细节了。

一些背景知识

下面是在MATLAB环境之外的Jenkins和GitLab中快速回顾的步骤。看到马里亚诺的文章更多细节:

  • 在Jenkins中,指定存储库URL、要构建的分支和我的凭证
  • 在Jenkins中,将Build Trigger设置为当一个更改被推到GitLab时进行构建
  • 在Jenkins中,指定构建命令以启动MATLAB并运行我的测试
  • 在GitLab中,设置一个Push Event Web钩子到Jenkins的GitLab CI服务URL。每当我将更改推到我的测试分支时,这将被触发
  • 现在让我们进入有趣的部分:-)

    金宝app仿真软件项目

    对于这个示例,我们将重用之前在这篇文章在这里,我们测试了模拟的结果与使用software - in - loop模拟生成的可执行文件的结果相匹配:

    金宝appSimulink与软件在循环验证

    《华盛顿邮报》使用Simulink测试管理器进行基于仿真的测试金宝app详细描述了如何设置测试,所以我在这里不再重复。

    我在这个博客中添加的内容是创建一个Simulink项目,将所有文件添加到其中,并配置金宝app源代码控制集成。

    Simulink项目中的源代码控制集成金宝app

    在Jenkins服务器上金宝app运行Simulink Test测试套件

    在Jenkins中,我们需要指定一个构建命令。这个构建命令将在“nodisplay”模式下启动MATLAB可执行文件并使用-r标志运行一些MATLAB代码(参见这张图片).在我的例子中,MATLAB代码是:

    詹金斯构建命令

    这个函数runMyTests类似于Mariano的帖子。这是它的样子:

    运行测试

    事情要注意:

    • 测试是通过MATLAB测试框架.由于这一点,我的测试套件可以包括使用Simulink test和MATLAB测试框架创建的测试。金宝app就像我来的地方说的:考试就是考试!
    • 的函数writeMergeRequest ()writeIssue ()包含类似Mariano的帖子的代码,使用webwrite在GitLab中创建合并请求或问题使用它的API
    • 我创建了一个文件夹来存储失败的结果
    • sltest.testmanager.exportResults用于保存失败时的测试结果。

    检查测试失败

    根据Jenkins服务器的配置方式,可以编写MATLAB代码将测试结果放置在任何方便的地方。默认情况下,我可以在Jenkins工作区中获取我的结果文件。

    得到结果后

    一旦我得到了结果文件,我可以简单地在MATLAB中双击它,测试管理器将显示出哪里出错了。

    可视化的结果

    我再说一遍……由于我经常处理需要几个小时运行的模拟,从服务器获取结果文件节省了我很多时间,因为我不需要在我的机器上重新运行模拟。

    现在轮到你了

    您是否在基于团队的基于模型的设计项目中合并了变更管理和持续集成工具,如Git和Jenkins ?如果是,请在下面的评论中告诉我们更多关于你的设置。

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。