建站公司 长沙和西安,免费的网页设计代码模板,网站开发是什么职业,运城seo招聘概览
Sonar 是一个用于代码质量管理的开放平台。通过插件机制#xff0c;Sonar 可以集成不同的测试工具#xff0c;代码分析工具#xff0c;以及持续集成工具。与持续集成工具#xff08;例如 Hudson/Jenkins 等#xff09;不同#xff0c;Sonar 并不是简单地把不同的代…概览
Sonar 是一个用于代码质量管理的开放平台。通过插件机制Sonar 可以集成不同的测试工具代码分析工具以及持续集成工具。与持续集成工具例如 Hudson/Jenkins 等不同Sonar 并不是简单地把不同的代码检查工具结果例如 FindBugsPMD 等直接显示在 Web 页面上而是通过不同的插件对这些结果进行再加工处理通过量化的方式度量代码质量的变化从而可以方便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面Sonar 不仅提供了对 IDE 的支持可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果同时 Sonar 还对大量的持续集成工具提供了接口支持可以很方便地在持续集成中使用 Sonar。此外Sonar 的插件还可以对 Java 以外的其他编程语言提供支持对国际化以及报告文档化也有良好的支持。
主要特点
代码覆盖通过单元测试将会显示哪行代码被选中改善编码规则搜寻编码规则按照名字插件激活级别和类别进行查询项目搜寻按照项目的名字进行查询对比数据比较同一张表中的任何测量的趋势
SonarQube 安装与配置
Sonar 是 Codehaus 上面的一个开源项目使用的是 LGPL V3 软件许可。我们可以在其官方网站上下载其源代码及安装包。下载网址为Download | SonarQube | SonarLTS 版本是长期支持版本后期会继续维护是比较稳定的版本因此这里我们选择下载的是 LTS 版V5.6.6。注意本版本的 SonarQube 需要 Java 8 及以上的环境下载完毕压缩包后解压到合适的目录下。打开软件的 bin 目录如下图所示
根据自己的电脑系统打开不同的目录。例如我的电脑是 windows7 64 位打开最下方的目录运行 StartSonar.bat然后在浏览器中访问http://localhost:9000/ SonarQube 默认访问地址成功打开即说明SonarQube 安装成功。如下图所示已安装中文插件 SonarQube 的默认管理员账号是admin密码为admin。登录后可安装一些插件帮助我们完成相应的任务例如中文语言插件、SonarJS 插件等。插件的安装如下图所示第一步点击左上角的 ”Administration”跳转到 Administrator 界面。 在 Administrator 界面下拉 Syetem 选项点击 Update Center会跳转到 Update Center 界面。在这个界面上可以清楚的看到当前已安装了那些插件如下图所示 这里我们需要安装两个插件一个中文语言包一个 JS 静态代码扫描插件 SonarJs如果已安装需要更新到3.1.1.5128或更高版本。
点击 “Available”显示所有可以安装的插件我们选择安装中文语言包 Chinese Pack 和 JS 静态代码扫描插件 SonarJS如下图所示 如果安装的过程中出现无法下载的异常如下图所示 根据它提示的信息到对应的网站下载该插件。下载完成后把下载的 jar 包复制到 SonarQube 安装的目录 plugins 目录下例如E:\Program Files (x86)\sonarqube-5.6.6\extensions\plugins然后重启 SonarQube即可实现插件的安装。
关于 SonarQube 重启值得注意的是除了需要关闭 SonarQube 控制台外还需要调用任务管理器把正在运行的 java.exe 进程都给杀死然后再次运行 StartSonar.bat方可重启SonarQube。经过以上软件和插件的安装JS 代码静态扫描的环境已完成搭建接下来就是根据不同的项目设置不同的 SonarQube 配置项。对于 Android 混合应用进行 JS 代码静态扫描有两种工具以完成使用 AS 的插件 SonarLint、使用 Sonar-Runner。无论使用哪种方式都需要在 SonarQube 配置对应的项目如下图所示 通过以上步骤进入到项目配置界面如下图所示点击 Create Project创建一个项目其中 Name 和 Key 是必填项。如下图所示
两种扫描方式
SonarLint 插件
打开 Android Studio(示例版本2.3.3)打开 File-----Settings----Plugins----Browse Repositories搜索 SonarLint安装此插件如下图所示 接下来配置 SonarLint 插件打开 File----Settings----Other Settings----SonarLint General Setting添加一个 SonarQube服务如下图所示 击 next需要选择账号类型及账户名与密码如下图所示 账户名与密码均为admin点击 next完成 SonarQube 服务的设置设置成功后会出现以下界面如图所示 点击下方的 “Update binding”更新 SonarQube 服务的配置信息。接着配置 SonarLint Project Settings如下图所示 下拉选择服务 “Sonar”选择 SonarQube 服务创建的项目 ”hsdzda”点击 applyok。通过以上配置完成插件 SonarLint 的配置。接下来指定项目进行静态代码扫描如下图所示 Sonar-Runner 工具
AS 插件扫描代码的方式方便开发人员修改但这并不适合测试人员进行 bug 的后期管理及后期接入 CI 中。使用 Sonar-Runner可把扫描结果上报到 SonarQube 网站上网站以图形化的效果进行展示方便测试人员快速上报及bug后期管理。使用 Sonar-Runner 工具需要先下载这个工具并配置对应的环境变量下载地址为http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip下载完成后解压到合适的目录不要包含中文。打开电脑的高级系统配置配置环境变量。新建一个系统环境变量变量名为 ”SONAR_RUNNER”变量值为刚才解压的文件目录例如E:\Program Files (x86)\sonar-runner-2.4。编辑系统环境变量path添加 Sonar-Runner 的 path 变量值例如%SONAR_RUNNER_HOME%\bin; 点击确定。配置完成后打开控制台输入sonar-runner –h,然后回车显示如下信息即说明配置成功。 在需要扫描的项目根目录下创建一个名为 ”sonar-project.properties” 文件配置信息如下所示 其中 sonar.projectKey 和 sonar.projectName 为之前 SonarQube 服务上的项目配置信息必须要保持一致。Sonar.sources 为要扫描的目录这里选择 assets 目录。打开 cmd 窗口进入到待扫描项目的根目录下执行命令 sonar-runner回车即开始静态代码扫描工作。如下图所示
扫描成功会有以下提示 打开浏览器访问http://localhost:9000/ ,即可以图形化的效果展示扫描结论如下图所示 具体的 bug 列表: 需要注意的是无论使用 SonarLint 插件还是 Sonar-Runner 进行静态代码扫描均要保持SonarQube 服务是运行的才可对项目进行扫描