代码质量与安全 | 使用 Incredibuild 加速 Klocwork 静态代码分析
Klocwork是一款优秀的静态代码分析和 SAST 工具,适用于 C、C++、C#、Java、JavaScript、Python 和 Kotlin,可识别软件安全性、质量和可靠性问题,帮助强制遵守标准。
Incredibuild 是一款加速编译工具,为 C++代码编译和分析提供强大的分布式处理和独特的构建缓存加速。通过将其与 Klocwork 相结合,您能够快速分析整个代码库,从而在开发早期识别编码漏洞和错误,并确保编码标准得到实施。
龙智作为 DevSecOps 研发安全运营一体化解决方案供应商、Perforce 授权合作伙伴、Incredibuild 合作伙伴,致力于将全球先进工具引入中国市场,帮助大型开发团队缩短开发周期,更好、更快地交付软件。立即联系我们,了解 Klocwork 与 Incredibuild 的相关信息及最佳实践。
静态代码分析并非一种新工具,而是一种日趋普遍的方法,可以用该方法来确保代码质量以及构建更为优质的应用程序。但众所周知,这并不是最快的过程。随着代码库的不断扩大,这一现象尤为明显——仅 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 许可证服务器进行通信
一旦您确定全部就位,您只需要遵循两个快速步骤:
使用 kwinject 创建构建规范。您可以使用 buildconsole 进行分发与加速。
运行集成构建分析。您可以使用 Incredibuild 的 xgConsole 命令(语法不会从 ibconsole 命令中发生更改)进行分发与加速。
文章来源:https://www.incredibuild.cn/blog/shiyong-incredibuild-jiasu-klocwork-jingtaidaimafenxi
评论