sonarqube中文文档 https://revolyw.gitbooks.io/sonarqube/content/
本文描述sonarQube的基本使用,包括配置规则集(质量配置)、配置质量阈、创建/配置项目、创建用户、创建用户组、以及权限配置,通知配置,问题处理,不包括sonarQube服务的搭建。
管理员主界面
管理员登陆后可看到sonarQube服务下所有项目的代码检查情况,并且工具栏会显示“配置按钮”,普通用户登录后工具栏没有配置按钮。
创建>>输入信息
创建成功后可在列表中看到创建的群组记录
点击成员按钮,可以为该群组添加成员
2.新建用户
点击配置>>权限>>用户>>创建用户
输入用户信息
点击创建后,用户列表中显示刚才创建的用户
进入用户详情,会看到如下界面,选择“安全”tab页,输入令牌名称,点击生成,该令牌用以在执行代码检查命令时替代用户名/密码输入,提高安全性。
选择“项目”tab页,为该用户选择项目,当该项目为“私有”项目时,则只能被分配的用户看到。
选择“我的账户”>>提醒,设置需要用户通知的场景
3.查看规则
在代码规则界面左侧语言选择筛选不同的编程豫园,也可以通过检查规则的类型和异常等级来筛选。
点击其中一条规则进入规则详情,详情页对规则进行了描述,添加了错误实例和正确示范,用户也可以更具自己的理解添加扩展描述,以及修改异常等级。
4.创建规则集
选择“质量配置”,选择语言
选择语言后,列表中会显示当前语言已存在的规则配置,可以对已存在的规则配置进行扩展,或者通过复制按钮复制一份进行修改。
点击“创建”按钮。弹出创建对话框,填入信息。
创建成功后,1处显示该配置的名称,2处显示该规则所应用的项目,目前还没有为该配置应用项目,所以显示空,3处为该配置添加更多规则,4处为该配置设置相关权限。
点击上图中的“更多激活规则”按钮,进入规则机会页面,点击其中一条规则的“激活按钮”,弹出确认对话框,在对话框中可以修改规则的异常等级。
“批量修改”按钮可以将当前页过滤出来的所有规则批量应用到当前 质量配置 中.
质量配置完成后,在该配置界面就会显示该配置的情况
5.创建质量阈
点击“质量阈”,在质量阈界面,会显示当前已创建的质量阈有哪些,以及这些质量阈的规则。
点击“创建按钮”,输入名称
点击添加条件,选择条件
配置条件阀值
为该质量阈配置适用项目
6.创建/配置项目
点击“+”号创建项目,输入项目标识和显示名称,需要注意的是,显示名称在执行代码检查之后,会被执行检查的代码项目名替代。
生成一个项目令牌,这个令牌就是用户信息,和创建用户时生成的令牌是同一个东西,所以你可以使用创建用户是生成的令牌。
配置完令牌之后,会生成MVN执行检查的命令
mvn sonar:sonar
-Dsonar.projectKey=testPrj
-Dsonar.host.url=http://192.168.1.225:9000
-Dsonar.login=72db6d88508f72cc9d3c1fd770926653e9196616
在“项目配置”下拉框中选择“质量配置”,会出现各种语言对应的质量配置,根据该项目的编程语言选择合适质量配置。
在“项目配置”下拉框中选择“配置阈”,选择合适的配置阈。
在“项目配置”下拉框中选择“权限”,选择“私有”单选框,则该项目只对指定用户和用户组可见。
用户组选择。
7.执行代码检查
用测试用户登录之后,测试用户只能看到公开的4个项目和一个私有的项目testPrj,当前该项目还没有运行过代码检查,所以没有检查结果信息。
将之前复制的代码检查命令在项目根目录下(与pom.xml同级)执行,首次执行时会进行相关插件安装。
安装成功后,执行代码检查命令,这里我们用令牌代替了用户名密码。
执行成功后输出BUILD SUCCESS.
回到sonarQube,发现testPrj项目的检查结果已经出来了。但是你会发现项目名却不是testPrj,而是别名称,之前也提到过这一点,sonarQube的项目标识符不会变,但是项目名称会被代码项目名覆盖。
点击项目名进去检查总览页,打开项目信息面板我们可以看到项目标识还是testPrj,左侧绿色区域表示检查结果的质量阈状态,中间区域显示bug和漏洞的数量等信息。
8.处理问题
点击上图bug数量位子,会进入检查结果详情界面,左侧对可以根据类型进行筛选,主区域显示该类型下的所有问题,每一条问题都会有相关描述指出问题所在。
点击问题进入问题详情,会看到问题源码,sonarQube会根据代码提交信息这自动将任务分配给相关人员,若该用户设置了检查结果提示,在执行代码检查完成后,会自动收到邮件通知,当然你也可以将这个问题指派给其他人处理。
可以在该处调整问题类型。
可以在该处调整问题级别。
可以在该处编辑解决状态。
可以在该处重新指派处理人员。
点击时间信息,可以看到代码提交信息。
可以在该处添加评论。
对问题的所有变更,都能以邮件的形式通知到相关人员,点击邮件中的连接,即可直接浏览问题信息。