使用吉特哈布Actions对C代码进

北京皮肤科医院好 http://pf.39.net/bdfyy/bdfjc/160306/4781492.html

今天的主题:吉特哈布和C++代码分析,有人问了,吉特哈布是个啥玩意?老哥请别走,如果你读过我之前的文章,就知道我为什么管那玩意儿叫吉特哈布了。好了,正文开始。

之前我们有提到过吉特哈布代码分析功能,它可以帮助开发者引入代码安全检查到持续集成环境和日常开发流程中。而CodeQL则是此代码分析功能幕后所使用的分析引擎。今天,我们将介绍MSVC代码分析功能,这项功能可以和CodeQL一起协同工作,针对C++吉特哈布仓库中的代码进行分析。

此操作将采用当今VisualStudio中可用的各种代码质量和安全警告,并将它们作为警报进行处理,并将它们显示在吉特哈布存储库的安全视图中。生成的代码扫描警告将为通过吉特哈布的现有功能提供支持。这些包括,突出显示贡献者PR的源代码以及他们可能引入的任何警告,或允许存储库所有者查看和管理安全选项卡下的所有警告,如下图所示:

除了支持吉特哈布内部的分析警报外,分析结果还可以作为工作流组件来发布,允许贡献者在集成开发环境中下载并查看它们。这是通过我们对SARIF的支持实现的,SARIF是一种用于分析工具的标准化文件格式。可以使用SARIF查看器插件在VisualStudioCode中查看此格式。这可以提供在源代码上突出显示的附加信息,使开发人员能够轻松解决发现的任何问题。

存储库需要支持CMake以确保可以提取有关如何构建项目的信息。我们选择CMake是因为它为C++项目的各种性质提供了很好的抽象,并且因为它在开源社区中被广泛采用。它还为当前未使用Microsoft编译器构建团队提供了一条简单的路径,以获取分析设置并查看它必须提供的功能。

设置吉特哈布Action

要开始使用吉特哈布Action,你可以在安全性(选项卡)-设置代码扫描页面(如果在你的代码仓库中检测到C++)上找到MicrosoftC++代码分析设置项,如下图所示:

安装模板后,你就可以对其进行自定义以适应代码库的特定需求。另外,你还可以配置选项,例如忽略用于测试或更改规则集文件的一组目标。规则集文件可以用来自定义将在默认行为之外运行的警告。还可以选择VisualStudio安装工具中可用的预定义规则集(在“TeamToolsStaticAnalysisToolsRuleSets”目录中)或引用签入源的自定义文件。为了获得最佳结果,创建一个自定义规则集,从VS中的官方规则集中添加/删除警告。这样,就可以在开发过程中保证规则集合始终是官方最新版本。

示例规则

下图展示了一个规则的定义。

总结

一般而言,我的性格驱使我


转载请注明:http://www.aierlanlan.com/grrz/3662.html