在过去的十年中,软件渐渐成为了一个行业热点,我们的客户需要在更短的开发周期内开发更多且质量更高的软件。客户们希望能够将基于模型的开发(MBD)与持续集成和测试过程相结合,我们对此非常理解。出于这个原因,我们推翻了所持有的观念,以提供最佳的解决方案。有一种观点认为,MBD 文件(例如 *.dd、*.mdl 或 *.slx 文件)不适合在拉取请求工作流中进行审查、评论和批准。在这篇博文中,我们会向您展示我们的解决方案,该解决方案使用带 MBD 文件的拉取请求,致力于推进您的软件开发进程。

拉取什么呢?拉取请求的简要说明

开发软件通常最好分多个小步骤完成。所有更改都存储在应用程序生命周期管理(ALM)套件中,比如 Microsoft® Azure DevOps。为确保多个开发人员并行工作而不会相互干扰各自开发的功能,您可以创建功能分支。功能分支是用于处理特定功能或修补程序的单独位置。每个功能分支必须合并回主分支,而主分支不会直接更改。这是拉取请求的有用之处。拉取请求可简化开发人员的协作并确保流程安全,因为它们确保每个更改在合并到主分支之前都经过适当的审查。在拉取请求中,团队可以直接查看更改,并通过 ALM 的 Web 界面讨论建议的功能或修补程序的实现。在迭代过程中,团队提供反馈或调整实现。一旦实现被认为是好的,它就会合并到主分支中。在创建拉取请求之前,将主分支合并到功能分支中非常有用,这样可以检查自创建功能分支以来是否对主分支进行了任何更改,并解决可能的冲突。

面对 MBD 文件的问题

对 MBD 文件使用拉取请求的主要问题是团队只被告知两个不同的文件修订,而不是显式更改。这意味着变化之处不能像源代码文件那样直接显示在 ALM 的 Web 界面中。然而,可以使用像 Model Compare 这样的商业比较工具。要使用它们进行审阅,每个团队成员都必须下载原始版本和修改版本并在本地进行比较。这会对工作流产生负面影响,如果不额外处理,就不允许用户直接检查、评论或批准更改。然而,这些问题势必要解决。

拉取请求工作流中 MBD 文件的解决方案

要对 MBD 文件使用已建立的源文件的拉取请求工作流,您可以为更改的文件修订自动创建差异报告。这意味着每个拉取请求或更新都会触发差异报告的创建过程。这些报告发布到共享位置,例如工件服务器、共享网络驱动器或直接附加到拉取请求。这就允许团队成员直接查看更改并评论更改。拉取请求的作者可以过滤所有打开的评论,在其本地开发环境中修复它们并更新拉取请求。每次更新拉取请求时,都会自动生成一个新的差异报告。这有利于产生无缝的拉取请求工作流,直到它完成并合并到主分支中。。我们建议检查主分支上是否有任何更改,因为功能分支是通过将主分支合并到功能分支中创建的。如果主分支和功能分支上的 MBD 文件发生更改,则在本地开发环境中可以轻松解决文件冲突。

启动您的拉取请求之旅

在您正式开始之前,我们希望您为您的拉取请求工作流提供以下提示:

  • 将大功能拆分为多个小部分。在连续的流程中,更改通常会被集成或测试。因此,请避免具有数千个模型元素更改的拉取请求。
  • 清楚地分离更改。拉取请求不应混淆多个任务。因此,请为每个功能或修补程序使用一个分支和拉取请求。如果无法隔离更改,请创建不同的提交以允许审阅者区分更改。
  • 在创建拉取请求之前,将主分支中可能的更改整合到功能分支中。这大大降低了合并冲突的可能性。

推翻持有的观念

日复一日,我们遇到根深蒂固的观念。所以,您也可以在这篇博客文章的结尾用“没有什么不可能的”这句话来结束,因此提到穆罕默德·阿里。阿里从未说过这些话,我们的观念不过是基于一家知名体育用品制造商的广告语。然而,这种思维方式具有梦寐以求的力量,因为不可能性可以代表潜力并推动变革。出于这个原因,dSPACE 始终尝试挑战我们的观念,为客户提供解决问题的最佳解决方案。在这篇博文中,我们概述了建立带有 MBD 文件的拉取请求工作流的解决方案。这使我们的客户能够在更短的开发周期内开发更多、更高质量的软件,因为拉取请求已经证明可用于源代码文件。在生活中,变则通,通则久。因此,我们鼓励您与我们联系并分享您对该主题的经验或要求。这将有助于我们进一步优化我们的解决方案,以帮助您取得成功。

Sven Siemon

Sven Siemon

技术作者,dSPACE GmbH 研发治理和能力合作伙伴

推动创新进程。我们始终在技术开发的最前沿。

欢迎订阅我们简讯,了解我们的专业技术以及产品。希望我们的成功案例能够对您有所帮助。快速了解仿真和验证的最新信息。欢迎订阅/管理dSPACE简讯和dSPACE航空速报。

Enable form call

At this point, an input form from Click Dimensions is integrated. This enables us to process your newsletter subscription. The form is currently hidden due to your privacy settings for our website.

External input form

By activating the input form, you consent to personal data being transmitted to Click Dimensions within the EU, in the USA, Canada or Australia. More on this in our privacy policy.