博客
希望我们能与您分享和探讨成长中的点点滴滴
如何将Klocwork与Incredibuild一起使用来提高DevOps生产效率
分享到
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还可以用来协调基于云的机器实例网格,从而更快地执行分析任务。
使用Incredibuild和Klocwork的益处
您可以从使用能够提高DevOps生产效率的工具中受益,同时还能提高软件交付的质量。例如,在Incredibuild的帮助下,您可以充分利用现有的硬件资源。除了IT获得的成本效率外,您还将从缩短的超长开发和构建周期中受益。仅仅这两个益处就可以帮您缩短超长的周期,这意味着能够更快地为您的客户部署新功能和价值。
通过将Klocwork与Incredibuild相结合,您能够利用Incredibuild的强大计算能力,以及它的分布式编排、云扩展和CI/CD集成能力——这与Klocwork的核心功能完美互补。
有了Klocwork和Incredibuild,您可以满怀信心地将产品加快推向市场。
例如,下面的截图展示了您的团队如何从使用Incredibuild和Klocwork中获益。在这个例子中,Klocwork叠加了Incredibuild的功能:利用15个多核CPU,在不到4分钟的时间内对一个大型代码库进行一次完整的扫描。
如何将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构建跟踪文件。该文件将使用以下命名惯例进行命名:
• 其中,SolutionName是解决方案的名称,TimeStamp是定义文件创建时间的值。
• 关于kwinject的跟踪文件格式的信息,请参阅构建跟踪文件格式,以了解如何生成构建规范的详细信息。
• 此外,您可以通过在BuildConsole命令行中添加/ca_fie=file-path,来指定您自定义的文件名和路径。例如,/ca_file=”C:\MyFile.JSSon”。
4. 分配分析
• Incredibuild概要文件与Klocwork服务器包一起安装在:
• 通过Incredibuild概要文件,间接地运行集成构建分析工具kwbuildproject。包括所有您需要的kwbuildproject选项:
• 其中N是用于集成构建分析的并行线程数。这个数字必须与将使用的Incredibuild核心的数量相匹配。
如果您遇到问题,请尝试执行以下步骤:
1. 在“Agent Settings”对话框中,在“Agent|General”页面,将日志级别设置为“Extended”,并启用为本地执行的任务生成详细日志。
2. 运行构建。
3. 双击Incredibuild托盘图标,然后在Build Monitor屏幕上,点击“File -> Save Monitor file As…”保存执行监视器进度文件(.ib_mon文件)。
4. 将日志级别恢复到“Minimal”。
关于如何使用Incredibuild和Klocwork的更多详情可以联系我们获取支持。