DevTools 解决方案

您可以使用此 Incredibuild 解决方案来调节 Incredibuild,以加速众多类型的多进程耗时执行。这些执行可以是自制工具和脚本、开源产品或商业工具。

借助 Incredibuild 提供的各种接口,只需工作几分钟,即可集成由 Incredibuild 加速的重型执行。

用户通过 Incredibuild DevTools 解决方案加速的各种常见执行有:

  • 单元测试 - 即基础架构,例如 gtest、vstest、mstest、cppunit 等,或自定义测试解决方案

  • 其他测试类型及 QA 进程,例如 API 测试、集成测试和压力测试

  • 模拟

  • 压缩

  • 打包

  • 渲染

  • 代码分析

  • 定量分析

  • 数据转换(例如音频转换、图像转换)

  • 代码生成

  • 代码混淆

  • 资产创建

如果您的执行非常耗时,且包含了许多能够并行执行的进程,则可以借助 DevTools Solution 让 Incredibuild 加速这些执行。Incredibuild 会在使用这些机器空闲 CPU 的同时,分发需要在网络中远端机器上执行的进程。因此,任何执行这些耗时执行的机器均会转换为超级虚拟计算机,进而有能力使用您网络中自有的或公有云中的数百个核心。

本质上,如果您的执行在数百个核心上执行时比仅在主机核心上执行使要更快,那么 Incredibuild 将会是适合您的解决方案。

借助 Incredibuild 的虚拟化技术,您即可将这些任务分发至远端机器,而无需将分布式进程所要求的执行环境或任何文件复制到远端机器上。远端执行进程所生成的所有输出均会由 Incredibuild 无缝同步回启动机器。

例如,在执行数千个单元测试时,您能够实现的整体性能将受限于您本地主机中所含的有限核心数量。然而,借助 DevTools Solution,数千个可由 Incredibuild 分发的单元测试就会在您的网络或公有云中所有空闲核心上无缝执行,这会大大加快您的测试执行速度。

Incredibuild DevTools 解决方案提供三种不同的 Integration Interface,以加速对这些(以及其他)进程类型的执行。借助全部 Incredibuild 分布式作业,所有远端执行任务即可完全模拟启动机器的环境和文件系统,省去复制文件或在远端机器上安装应用程序的步骤。从您的角度看,将 Incredibuild 集成至您的执行,即代表您可以使用数百个核心,就像它们常驻于您的本地工作站中一样。

对三种接口的快速总结:

  • Submission Interface - 一种手动(命令行)接口,便于您以并行方式利用远端机器的 CPU 及内存,并通过使用批处理文件或在其应用程序中执行进程。

  • Interception Interface - 一种自动接口,便于您指定进程名称。无论您的应用程序何时执行此进程名称,Incredibuild 都会在远端机器而非本地机器上自动执行此进程。此接口可让您完全掌控所生成的进程或应用程序,以及相互间依赖关系等。

  • XML Interface - 一种通用分发界面,它使用输入 XML 文件描述由 Incredibuild 运行的一组 command-line 任务,同时使用的还有这些任务的输入文件、输出文件和依赖项。

有关支持的接口及其使用方式的详细信息,请参阅 Choosing the Ideal Interface 一章。

当您使用 Incredibuild 执行重型执行时,The Build Monitor 即进入可用状态。使用 Build Monitor,您可以对执行进行可视化处理、检测错误和瓶颈以及获取新见解等。