研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

如何使用Incredibuild和Klocwork来提高DevOps生产力

来源:Perforce       作者:Eran Kinsbruner     发布时间:2021-08-13 17:33

DevOps组织不断寻找能提高DevOps生产力的方法,并加快其上市时间。但如果缺乏适当的集成化工具,这将变得极具挑战。

为何加速DevOps是一项重大挑战?

加速DevOps是最主要的挑战,因为在开发过程的早期,您必须发现软件防范、安全和编码方面的缺陷,否则这些缺陷将变得愈发复杂、昂贵,从而导致无法修复。这一挑战经常被放大,因为在集成和预生产阶段中,反馈经常会延迟。

加速DevOps时最常见的挑战包括:

  • 迅速发现并尽早修复代码错误。

  • 满足代码安全和合规要求(DevSecOps)。

  • 建立跨团队协作和报告机制(问题的可见性)。

  • 集成代码质量和版本工具。

  • 提高在大型代码库中识别问题的速度和准确度。

如何使用正确的工具来加速DevOps?

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

Incredibuild是什么?

Incredibuild是一款开发周期加速工具,旨在帮助您加速计算密集型任务。通过跨本地网络或云中的空闲CPU无缝且并发地分配进程,Incredibuild能够从根本上缩短几乎任何工作负载的计算时间。这对于编译源代码和构建软件尤其有利,因为任务可以通过网络分发到多台计算机上。

Klocwork是什么?

Klocwork是面向C、C++、C#和Java的静态代码分析和SAST工具之一。Klocwork为企业DevOps和DevSecOps而生,可扩展到任何规模的项目,并与大型复杂环境和广泛的开发工具集成。再加上它的差异分析,Klocwork已经成为保持高开发速度的首选解决方案,同时加强了对安全及质量的持续管控。更重要的是,Klocwork的独特之处在于它可以处理巨大的代码库-如Android AOSP和Unreal Engine。这意味着当Klocwork和Incredibuild一起使用时,构建时间将显著减少。

为何Incredibuild用户应当使用Klocwork?

Incredibuild可加速计算密集型的工作负载。通过将其与Klocwork配合使用,Incredibuild能够快速分析整个代码库,在开发早期识别编码漏洞和错误,并确保执行编码标准。

KlocworkIncredibuild相得益彰

差异化分析

通过使用来自服务器的系统上下文数据,Klocwork能够仅分析已更改的文件,同时还提供不同的分析结果,就像对整个系统进行了分析一样。可使您尽量缩短新代码和更改代码的分析时间。

集成分析

Klocwork使用来自服务器的系统上下文数据来提供软件项目当前总体运行状况的快照。每次集成分析后,Klocwork都会提供一个检测到的编码问题列表,以及关于代码的其他报告。通过定期运行集成分析,您能够提高代码质量,确保软件安全和安全标准得到适当执行,并确保代码库的一致性。

为何Klocwork用户应当使用Incredibuild?

Klocwork有助于确保代码的安全、可靠和兼容。通过将它与Incredibuild配合使用,Klocwork用户可以在片刻内分析大量代码库,从而加快构建过程。

IncredibuildKlocwork相辅相成

虚拟化分布式处理

当执行多个并发进程的工作负载时,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之上工作,而Incredibuild使用了15个多核CPU,在不到4分钟的时间对一个大型代码库进行了完整的扫描。

如何并用Incredibuild与Klocwork

以下是并用Incredibuild与Klocwork的步骤:

  1. 安装最新版Incredibuild

  2. 安装Klocwork

  • 接下来,下载Klocwork。

  • 如果还没有使用Klocwork,您可以联系Perforce中国授权合作伙伴龙智免费试用。

  • 如果已经是Klocwork用户,请下载最新版本。

  • 一旦安装了Klocwork,您将需要Klocwork中的“access Web API”权限。

  1. 利用Incredibuild生成版本追踪文件

  • 每次执行Incredibuild加速构建时,将在/temp文件夹中生成有效的JSON版本跟踪文件。该文件将使用以下命名约定来命名:

IbCodeAnalysis_SolutionName_TimeStamp.json

  • 其中SolutionName是解决方案的名称,TimeStamp是一个定义文件创建时间的值。

  • 参见版本跟踪文件格式,以便了解跟踪文件格式的信息,或参见kwinject,以了解如何生成版本规范的详细信息。

  • 此外,您可以通过在BuildConsole命令行添加/ca_fie=来指定自己的自定义文件名和路径。例如,/ ca_file = ” C: \ MyFile.JSSon “。

  1. 分配分析

  • Klocwork Server包中安装了Incredibuild配置文件,位置是:

<server_install>\config\IBProfile.xml

  • 通过这个Incredibuild配置文件间接运行集成版本分析工具kwbuildproject。将需要的kwbuildproject选项全都纳入:

IBConsole /profile=”<server_install>\config\IBProfile.xml” /command=”kwbuildproject -j<N> …”

表示用于集成版本分析的并行线程的数量。这个数字必须与将要使用的Incredibuild内核的数量相匹配。

如遇到问题,请尝试执行下列步骤:

  1. 在“Agent Settings”对话框,位于“Agent | General”页面,将日志级别设置为“Extended”,并启用为本地执行的任务生成详细日志。

  2. 运行您的版本。

  3. 双击Incredibuild托盘图标,然后在Build Monitor页面点击“File -> Save Monitor file As…”,以保存执行监控器进度文件(.ib_mon文件)。

  4. 将日志级别恢复到最低。

Eran Kinsbruner(Perforce公司DevOps首席宣传官

Eran Kinsbruner是 2016年亚马逊畅销书《数字质量手册》、《面向DevOps专业人士的持续测试》和《提升软件品质 – DevOps时代的机器学习和人工智能》的作者,被Book Authority评为“最佳软件测试新书”。他担任Perforce Software公司首席宣传官和高级总监。他是开发和测试领域的专业人士,在Sun Microsystems、Neustar、Texas Instruments、General Electric等公司拥有超过20年的从业经验。他持有各种行业认证,如ISTQB、CMMI等。Eran是公认的极具影响力的持续性测试和开发&运维领域大咖、国际演说家、博客作者,他还持有发明专利(用于移动J2ME测试的测试排除自动化机制)。Eran常年活跃于IT社区,并现身多个社交媒体,也拥有自己的博客。

Klocwork——针对C, C++, C#, Java程序的 静态代码分析工具

最新文章

相关产品

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴