火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项目),本文将以教程的形式帮助大家了解如何在Jenkins中使用火线插件做静态代码扫描。
提示:如果您是第一次使用Jenkins,请先前往文章【[新手教程] Jenkins 下载安装配置教程】(在文章最后点击阅读原文可见)。
Jenkins
logo,依次点击系统管理
->管理插件
,
在插件页面点击可选插件
按钮,
fireline
,勾选查询出来的Fireline Plugin
插件,点击直接安装。
返回首页
,开始配置。
构建一个自由风格的软件项目
,点击确定。
General
栏输入项目名称,我这里输入的CodeScan
。
https://github.com/ariesliu/TestCasesProject
构建触发器
和构建环境
配置栏,在构建
栏点击增加构建步骤
,在下拉列表中选择Execute FireLine
选项。
report
目录下,如图所示。配置完成,点击保存按钮。
立即构建
。
#1
。
Console Output
栏,可以看到任务的执行过程。等待任务执行完成后,可以看到火线报告的路径,如下图所示。
testReport.html
,可以看到本次的代码扫描结果。
HTML Publisher plugin
,再次去往系统管理
-> 管理插件
->可选插件
,搜索HTML Publisher plugin
,点击直接安装,安装成功后返回。
CodeScan
进行配置,这次只需要配置构建后操作
栏,点击增加构建后操作步骤
下拉框,选择Publish HTML reports
选项。
增加
按钮。在HTML directory to archive
栏输入火线报告的生成路径,即在构建
栏中火线默认的结果报告路径,复制过来即可。在Index page[s]
栏输入testReport.html
,这是火线默认生成的HTML报告的名称。这两项配置完成后点击保存。
系统管理
->脚本命令行
,在文本框中输入System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
这行代码,点击右下角的运行
按钮。
CodeScan
,点击立即构建
,构建完成后就可以点击HTML Report
栏直接查看火线报告了。
Block
级别 ,内存泄露问题列为风险
级别,代码规范类问题(阿里Java规约)列为警告
和优化
级别。更多级别详情可参考火线官网的规则文档。
问题详情列表
栏,可以看到问题的详情。点击每一行最右侧的加号
图标,可以看到错误的代码片段。
Search
栏输入p3c
关键字,可以过滤出所有阿里巴巴开发手册(P3C)的规则发现的问题。
写在最后:
非常感谢阿里开源的Java开发规约(P3C项目),在静态代码扫描的代码规范方向,一直以来都没有一个统一的标准,开发人员们对于代码规范的理解和掌握能力参差不齐。在大厂的带头作用下统一化标准化之后,开发人员们更容易去认可静态代码扫描在代码规范方向的检测结果。
同时,火线(Fireline)也一直致力于静态代码扫描方向的研究,我们的主攻点是安卓代码中的安全类问题和内存泄露问题,也是因为这两类问题从开发人员角度来看,是更受关注和重视的。
另外,目前火线除了新上线的Jenkins插件,还有嵌入在开发人员编码IDE中的Android Studio插件,欢迎各位推荐给开发人员使用,让我们可以在全流程中保障代码的质量:开发编写代码环节(Android Studio插件)-> 代码编译打包环节(Jenkins插件)。