
# 使用SonarQube工具检查代码质量
[创建自定义规则集]
[新建CodeArts Repo代码仓]
[创建代码检查任务]
[配置代码检查任务]
[查看检查结果]
 #### 创建自定义规则集
1. 在代码检查任务列表页，单击"规则集"页签，进入规则集列表页面。
2. 单击"新建规则集"，在弹出的窗口自定义"规则集名称"，并将"检查语言"设置为导入的SonarQube规则所属的语言。
3. 单击"确定"，进入到"规则集配置"页面。
4. 勾选[导入自定义规则](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1018.html)中的规则，单击右上角"保存"。
 
 #### 新建CodeArts Repo代码仓
1. 在导航栏中选择"服务 \> 代码托管"，进入代码托管服务首页。
2. 在代码托管页面，单击"新建仓库"。
3. 在新建仓库页面，选择该代码仓的"归属项目"，选择"普通新建"。
4. 单击"下一步"，仓库名称填写"custom_repo"，其他参数保持默认即可。
5. 单击"确定"，完成代码仓的创建。
6. 向创建好的代码仓中上传所需要检查的源代码。
 
 #### 创建代码检查任务
1. 在代码检查任务列表页，单击"新建任务"，按照如[表 代码检查任务参数说明]配置参数。
   
    表1代码检查任务参数说明 
   | **参数** | **说明**                                                                                                                                                                                                            |
   |:---|:---|
   | 归属项目   | [创建代码检查任务所属项目](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1004.html#codeartscheck_14_1004__zh-cn_topic_0000002500715334_section1275553715353)中创建的项目名称"check-bestpractice"。默认填写，无需配置。 |
   | 代码源    | 选择需要检查的代码来源。选择"Repo"。                                                                                                                                                                                             |
   | 任务名称   | 代码检查任务名称，可自定义。例如：CheckTask01。                                                                                                                                                                                     |
   | 仓库     | 选择[新建CodeArts Repo代码仓]中创建的代码仓"custom_repo"。                                                                                             |
   | 分支     | 选择需要被检查的分支。                                                                                                                                                                                                       |
   | 检查语言   | 选择需要被检查的语言。                                                                                                                                                                                                       |
      
   
   
2. 单击"确定"，完成代码检查任务的创建。
 
 #### 配置代码检查任务
1. 在代码检查任务列表页，单击代码检查任务名称，进入代码检查任务详情页。
2. 单击"设置 \> 规则集"，在右侧区域单击"圆形"按钮![](https://support.huaweicloud.com/bestpractice-codecheck/zh-cn_image_0000002613889469.png "点击放大")，选择[创建自定义规则集]中所创建的规则集。
3. 单击"自定义环境"，在"执行主机"中选择"专属资源池"或"自定义资源池"，并在"代理资源池"中选择代理资源池。
4. 在"自定义镜像"中填写"使用构建任务制作SonarQube工具镜像"的[步骤13](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1015.html#codeartscheck_14_1015__zh-cn_topic_0000002548761195_li1229402117235)或"手工制作SonarQube工具镜像"的[步骤10](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1016.html#codeartscheck_14_1016__zh-cn_topic_0000002517161314_li158681891251)中上传到镜像仓库上的镜像地址。
   
   若用户选择的是手工制作SonarQube镜像，则在"镜像中自定义引擎的位置"中填写制作工具镜像[步骤8-2](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1016.html#codeartscheck_14_1016__zh-cn_topic_0000002517161314_li1886711992515)中自定义目录。代码检查会自动拉取镜像，并将镜像中的"sonarqubecustom"所在目录（如："/usr/local/tools"）下的全部内容从镜像中拷贝到自定义执行机上，单击 "保存"。
   若用户选择的是使用构建任务制作SonarQube工具镜像，则在"镜像中自定义引擎的位置"中填写"/usr/local/tools"即可。
   ![](https://support.huaweicloud.com/bestpractice-codecheck/zh-cn_image_0000002614009359.png "点击放大")
   
   
5. 如果导入的SonarQube规则需要编译源代码（例如Java语言规则），则单击"第三方引擎"的"引擎名称"下拉框中选择 "sonarqubecustom"，并在"引擎执行命令"中填写编译命令，单击 "保存"。 
   "报告路径"字段是无效字段，无需填写。
   **示例：**mvn clean compile -Dmaven.test.skip=true -B -U -q -s ./settings.xml
   ![](https://support.huaweicloud.com/bestpractice-codecheck/zh-cn_image_0000002583649588.png "点击放大")
   不需要编译源代码的规则跳过这一步。
   
   
6. 单击右上角"执行检查"。 
   图1全部配置完成后如图所示   
   ![](https://support.huaweicloud.com/bestpractice-codecheck/zh-cn_image_0000002583489672.png "点击放大")
   
   
 
 #### 查看检查结果
1. 在代码检查页面任务列表中，搜索[创建代码检查任务]创建的任务名称"CheckTask01"。
2. 单击任务名称，查看代码检查详情，包括概览、代码问题、代码度量、检查日志等。
 
