使用 Incredibuild 加速 Klocwork 静态代码分析

Blog
Author:
Joseph SibonyJoseph Sibony
Published On:
8月 2, 2022
Estimated reading time:
1 minute

静态代码分析并非一种新工具,而是一种日趋普遍的方法,可以用该方法来确保代码质量以及构建更为优质的应用程序。但众所周知,这并不是最快的过程。随着代码库的不断扩大,这一现象尤为明显——仅 2022 年,代码库就增长了18%以上,而且许多代码库已经达到了数百万行。

平衡此类对于速度与质量的需求意味着,虽然静态代码分析正日益成为一种标准,但也尤为需要找到使之可行的方法。如何在一天中找到些许时间来确保这一基本过程不会影响您的发布计划?可以通过找到使这一过程更为简单、更为奏效的工具。像 Perforce 制作的 Klocwork 这类工具,专门为大规模代码库和复杂开发环境而设计。

即便如此,静态代码分析总是还能更快些。这便是 Incredibuild 与 Klocwork 在 Windows 上完全集成的原因所在——用以确保您可以将静态代码分析完全嵌入到 DevOps 管道中,而不必放慢开发周期。

携手共进——Klocwork Incredibuild 共同作用的原因

随着越来越多的组织接受 DevOps 实践和方法,找到简化管道的方法是提高产品质量和加快市场投放时间的关键。这包括从寻找正确的团队结构到最大限度地利用现有的硬件和云资源等。

必须保持随时在线意味着 CI/CD 管道中的任何瓶颈都会在其他任何地方造成影响。例如,开发中的延迟可能会影响文本和分支管理,从而导致迭代频率降低,减缓反馈周期,并且如果发生错误,则更难确定错误发生的位置。反过来,这也会影响到 QA 和测试,也就是说可能会漏掉错误,推迟发布,并且可能无法如期完成热修复。

静态代码分析和静态应用安全测试 (SAST) 等工具是该过程的重要组成部分,但更快地做这些工作可以帮助将它们更有效地集成到 CI/CD 管道中,而不牺牲从流畅的工作流中获得的时间增益。这便是 Incredibuild 和 Klocwork 的用武之地。

结合两者可以充分利用所开发组织的计算能力,从而更快处理这些关键任务(同时完成构建)。得益于 Incredibuild 的虚拟分布式处理,可以处理静态分析和 SAST,而无需暂停其他关键开发流程与作业。不必等待事情完成,只需在事情完成时继续工作。

如何开始使用 Incredibuild Klocwork

一旦准备就绪,就没有什么繁重的工作要做。您只需要几个步骤便可开始同时使用这两个平台。首先,请确保您满足以下先决条件:

  • 您已安装 Klocwork 的有效许可证
  • 您在 Klocwork 中拥有“访问网络 API”权限。因为权限默认设置为根管理员和项目管理员,请您与管理员确认。
  • 确保所有使用 Klocwork 的计算机上都安装了 Incredibuild 启动器代理,Klocwork 将作为静态代码分析的一部分(同时,仔细检查启动器许可证是否有 Klocwork 插件)。
  • 如果您在云端使用 Incredibuild,请确保它们可以与您的 Klocwork 许可证服务器进行通信

一旦您确定全部就位,您只需要遵循两个快速步骤:

  1. 使用 kwinject 创建构建规范。您可以使用 buildconsole 进行分发与加速。
kwinject buildconsole.exe ><”sln path”> /rebuild /cofg=”Debug|Win6 4”
  1. 运行集成构建分析。您可以使用 Incredibuild 的 xgConsole 命令(语法不会从 ibconsole 命令中发生更改)进行分发与加速。
    xgConsole /profile="C:\Klocwork\Server 21.1\config\xgProfile.xml" /title=<"title name"> /command="kwbuildproject --url http://localhost:8080/<project_name> -j [n] -o kwtables -f kwinject.out” 

    您可以在下面的视频中看到正在执行的过程:

    而你可以从此处此处了解更多关于 Incredibuild 和 Klocwork 的集成过程。