开发区域

高级软件开发与MATLAB

把它和Jenkins联系起来

现在,我们已经有了描述如何测试的MATLAB项目,让我先了解一下我所暗示的内容最后发表.特别是,设置项目并准备使用自动CI构建是多么容易。我们已经讨论了很多次在这个博客上如何在Jenkins上处理MATLAB和Simulink代码,但我们从未讨论过我们如何使它金宝app更容易为您工作。这需要纠正!

事实证明,我们一直在做一些事情。特别是,我们一直在做的“事情”之一是提供一个Jenkins插件,以减少您启动并运行MATLAB和Simulink构建所需的时间和精力。金宝app

这与MATLAB中现在提供的测试感知项目相结合,实现了真正的按按钮Jenkins体验(对于那些更喜欢按按钮而不是按按钮的人来说,这也是一种配置为代码的体验)。让我们看看如何使用我们最喜欢的新项目libDirectional来实现这一点。

最后一次我们投射了它,并启用了Test标签,以帮助定义项目中的测试。现在Jenkins插件知道该怎么做了。想看看它是怎么运作的吗?我也是,我们走吧。

首先你得安装插件。这其实很简单,你可以在詹金斯插件指数

从那里,您或您的Jenkins管理员可以下载并直接安装它。然而,它实际上更容易安装直接在Jenkins。

现在插件已经安装好了,让我们来设置我们的项目并开始工作。所需要的只是

  1. 将git的详细信息指向libDirectional
  2. 如果需要,请指定MATLAB在构建代理上的位置。如果在系统PATH上已经用MATLAB配置了构建代理,则不需要此步骤。在插件中指定的位置将简单地将指定的MATLAB位置添加到PATH中,但如果从终端或shell调用“MATLAB”在构建机器上找到正确的所需MATLAB,可以跳过此操作。
  3. 现在我们可以继续在项目中运行MATLAB测试了。您甚至可以通过单击访问来生成各种测试工件,如测试结果、报告和覆盖率信息。使用这些构件,您可以利用Jenkins环境的各种其他插件和特性来更深入地了解您的构建。

这三个步骤都显示在这里:

超级简单,但当我们运行构建时,我们会看到它失败了:

如果您熟悉该项目,查看测试结果就会清楚地发现,这些测试失败是因为缺少所需的mex文件。当然!我们需要一个构建步骤。为此,我们可以利用插件提供的另一个构建步骤来运行任意的MATLAB命令。这个存储库配置得很好,以一种简单的方式构建它的所有mex文件,它是一个调用的函数compileAll.在运行测试之前的构建步骤中,先调用该函数,然后再调用打开项目,这就是我们需要做的一切。

好了,这就是我们如何使用Jenkins插件来快速和轻松地建立MATLAB构建。它是如此简单,以至于你可能很容易意识不到它给你带来的一些东西:

  1. 快速和容易的生产MATLAB和Simulink CI工件金宝app
  2. 最小的CI配置
  3. 不需要理解启动MATLAB用于CI构建的“最佳方式”。您将不再忘记try/catch或试图记住在17b中以最佳方式在CI中运行MATLAB所需的精确MATLAB启动选项
  4. 金宝app支持测试工作流程回到13b,甚至支持在不同平台上测试不同版本的MATLAB的矩阵构建。所有您需要指定的是您想要使用的MATLAB命令或您的测试配置。其他的都由插件来处理。

好了,Jenkins插件总是做它的一部分,以帮助改进您的CI工作流与MATLAB和Simulink。金宝app

我们还从一些不使用Jenkins但对其他CI平台和服务感兴趣的人那里得到了消息。请放心,我们也在努力支持其他平台,并有更多的博客。金宝app您对哪些CI平台感兴趣?




发布与MATLAB®R2020b

|

评论

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