如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率

创提信息
2022/03/07

分享到

DevOps组织不断地寻找方法来提高DevOps的生产效率,加快其上市时间。如果没有合适的集成工具,这将相当具有挑战性。

 
本文将包含如下几个部分:
 
    • 为什么加速DevOps是一个主要挑战
 
    • Incredibuild是什么?
 
    • Klocwork是什么?
 
    • 为什么Incredibuild用户应该使用Klocwork
 
    • 为什么Klocwork用户应该使用Incredibuild
 
    • 为什么您应该使用Incredibuild和Klocwork
 

    • 使用Incredibuild和Klocwork的益处
 
    • 如何将Klocwork与Incredibuild一起使用


为什么加速DevOps是一个主要挑战
 
加速DevOps是一个主要挑战,因为您必须在开发早期找到编码缺陷,确保其安全性、合规性,以免修复变得太困难且太昂贵。由于在集成和上线前的阶段,反馈往往会被延迟,因此这种挑战的难度通常会被放大。
 
DevOps加速过程中最常见的挑战包括:
 
    • 快速发现并尽早修复代码错误。 
    • 满足代码安全性与合规性需求(DevSecOps)。 
    • 建立跨团队协作和报告机制(问题的可见性)。 
    • 集成代码质量和构建工具。 
    • 提高识别大型代码库中存在的问题的速度和准确性。


如何使用合适的工具加速DevOps
 
通过将开发周期加速工具与静态代码分析解决方案相集成,您可以更快地将产品推向市场。


Incredibuild是什么?
 
Incredibuild是一个开发周期加速工具,主要用于帮助您加速计算密集型任务。通过在本地网络或云的空闲CPU之间无缝并发地分配流程,Incredibuild能够从根本上缩短几乎任何工作负载的计算时间。这对于编译源代码和构建软件特别有益,因为任务可以通过网络分配到多台计算机上。


Klocwork是什么?
 
Klocwork是适用于C,C++, C#,Java,JavaScript和Python语言的最可信的静态代码分析和应用安全静态测试(SAST)工具之一。Klocwork是专为企业的DevOps和DevSecOps而设计的,可以扩展到任何规模的项目,并与大型复杂环境和各种开发工具相集成。此外,Klocwork还具有差异分析功能(Differential Analysis),要想在保持高开发速度的同时确保在安全和质量上的持续合规,Klocwork便是首选的解决方案。
 
而且,Klocwork的独特之处在于,它可以处理庞大的代码库——例如,Android AOSP和Unreal Engine。这意味着当同时使用Klocwork和Incredibuild时,可以显著地减少构建时间。
 

为什么Incredibuild用户应该使用Klocwork
 
Incredibuild加速了计算密集型的工作负载。通过将其与Klocwork相结合,Incredibuild让您能够快速分析整个代码库,从而在开发早期识别编码漏洞和错误,并确保编码标准得到实施。
 

Klocwork通过以下功能实现对Incredibuild的补充:
 
差异分析
 
通过使用来自服务器的系统上下文数据,Klocwork能够只分析已更改的文件,同时提供差异分析结果,就像对整个系统进行了分析一样。这尽可能地缩短了您分析新代码和已更改代码的时间。
 
集成分析
 
Klocwork使用来自服务器的系统上下文数据,对您软件项目当前的总体健康状况进行了快照。在每次集成分析之后,Klocwork会提供一个列表(列出检测到的编码问题),以及关于代码的其他报告。通过定期运行集成分析,您能够提高代码的质量,确保软件安全标准得到适当地执行,并确保代码库的一致性。


为什么Klocwork用户应该使用Incredibuild
 
Klocwork有助于确保您的代码是否安全、可靠和兼容。通过将其与Incredibuild相结合,Klocwork用户可以在很短的时间内分析大量的代码库,从而加快构建流程。

Incredibuild通过以下功能实现对Klocwork的补充:
 
虚拟化分布式处理
 
当执行多个并发流程的工作负载时,Incredibuild会自动、动态地将这些流程分配到网络或云中的远程机器内的空闲CPU上。


为什么您应该使用Incredibuild和Klocwork
 
通过将Incredibuild和Klocwork相结合,您将可以很轻松地应对DevOps和DevSecOps的挑战。这两个解决方案可以无缝地集成到您的软件开发生命周期(SDLC)工具链中,以对任何规模的代码库提供可操作的反馈,并确保高开发速度。
 
有了Incredibuild和Klocwork,您的团队将能够运行一次超快的静态代码分析扫描,并在几分钟内获得一个完整的报告,其中涵盖了所有关键的安全标准,包括MISRA, AUTOSAR, CERT和OWASP。
 
此外,如果您的团队正在与漫长的构建周期和延迟的反馈作斗争,您可以使用Incredibuild根据需要在任意数量的机器上利用成千上万的核心计算能力。这使您能够将构建流程从几天缩短到几小时甚至几分钟。而且,如果您的本地网络连接的机器缺乏足够的能力,那么Incredibuild还可以用来协调基于云的机器实例网格,从而更快地执行分析任务。
 

如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-1.jpg


使用Incredibuild和Klocwork的益处
 
您可以从使用能够提高DevOps生产效率的工具中受益,同时还能提高软件交付的质量。例如,在Incredibuild的帮助下,您可以充分利用现有的硬件资源。除了IT获得的成本效率外,您还将从缩短的超长开发和构建周期中受益。仅仅这两个益处就可以帮您缩短超长的周期,这意味着能够更快地为您的客户部署新功能和价值。
 
通过将Klocwork与Incredibuild相结合,您能够利用Incredibuild的强大计算能力,以及它的分布式编排、云扩展和CI/CD集成能力——这与Klocwork的核心功能完美互补。
 
有了Klocwork和Incredibuild,您可以满怀信心地将产品加快推向市场。
 
例如,下面的截图展示了您的团队如何从使用Incredibuild和Klocwork中获益。在这个例子中,Klocwork叠加了Incredibuild的功能:利用15个多核CPU,在不到4分钟的时间内对一个大型代码库进行一次完整的扫描。


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-2.jpg

如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-3.jpg


如何将Klocwork与Incredibuild一起使用
 
下面是如何使用Incredibuild和Klocwork
 
    1. 安装Incredibuild
 
    • 首先,您需要安装Incredibuild。 
    • 如果您还没有使用Incredibuild,您可以开始免费试用。 
    • 如果您已经是Incredibuild的用户,请下载最新版本。 
   

    2. 安装Klocwork
 
    • 接下来,您将下载Klocwork。 
    • 如果您还没有使用Klocwork,您可以开始免费试用。 
    • 如果您已经是Klocwork的用户,请下载最新版本。 
    • 一旦安装了Klocwork,您将需要Klocwork中的“访问Web API”权限。
 
    3. 使用Incredibuild生成一个构建跟踪文件
 
    • 每次执行Incredibuild加速构建时,都会在incrediBuild-install-path/temp文件夹中生成一个有效的JSON构建跟踪文件。该文件将使用以下命名惯例进行命名:


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-4.jpg


    • 其中,SolutionName是解决方案的名称,TimeStamp是定义文件创建时间的值。
 
    • 关于kwinject的跟踪文件格式的信息,请参阅构建跟踪文件格式,以了解如何生成构建规范的详细信息。
 
    • 此外,您可以通过在BuildConsole命令行中添加/ca_fie=file-path,来指定您自定义的文件名和路径。例如,/ca_file=”C:\MyFile.JSSon”。
 
    4. 分配分析
 
    • Incredibuild概要文件与Klocwork服务器包一起安装在:


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-5.jpg

 
    • 通过Incredibuild概要文件,间接地运行集成构建分析工具kwbuildproject。包括所有您需要的kwbuildproject选项:


如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率-6.jpg

 
    • 其中N是用于集成构建分析的并行线程数。这个数字必须与将使用的Incredibuild核心的数量相匹配。
 
如果您遇到问题,请尝试执行以下步骤:
 
    1. 在“Agent Settings”对话框中,在“Agent|General”页面,将日志级别设置为“Extended”,并启用为本地执行的任务生成详细日志。 
    2. 运行构建。 
    3. 双击Incredibuild托盘图标,然后在Build Monitor屏幕上,点击“File -> Save Monitor file As…”保存执行监视器进度文件(.ib_mon文件)。 
    4. 将日志级别恢复到“Minimal”。
 
关于如何使用Incredibuild和Klocwork的更多详情可以联系我们获取支持