# 配置代码检查任务自定义环境
当使用代码检查服务时，若常用的编译构建环境缺少您需要的依赖包、工具，无法满足您的使用需求时，您可通过自定义构建环境提供的基础镜像执行代码检查任务。
#### 前提条件
已将自定义环境推送到镜像仓中，具体操作请参见[制作镜像并推送到SWR仓库](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0013.html)。
 #### 配置私有依赖仓扩展点
CodeArts Check默认引用项目下CodeArts Artifact中配置的私有依赖仓，同时支持用户通过配置私有依赖库作为私有依赖下载源。当CodeArts Check需要引用第三方服务的私有依赖仓时，需通过服务扩展点连接，进行数据获取。
1. [访问CodeArts Check服务首页](https://support.huaweicloud.com/usermanual-codecheck/devcloud_hlp_00101.html#devcloud_hlp_00101__section125631532175013)。
2. 进入代码检查页面，在任务列表中，单击任务名称。
3. 在代码检查详情页面，选择"设置 \> 自定义环境"。
4. 在"配置私有依赖仓扩展点"区域，单击"扩展点管理"，具体操作请参见[新建nexus repository服务扩展点](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0019.html#section5)。
   
   ![](https://support.huaweicloud.com/usermanual-codecheck/zh-cn_image_0000002499206584.png)
   
   
5. 配置完成后，单击"扩展点"下拉框，选择新建的扩展点。 
   最多只能添加7个扩展点。
   
   
6. 完成后，单击"保存"。
 
 #### 配置检查前置命令
用户可以在执行代码检查之前，根据实际情况设置"检查前置命令"，运行该命令可以搭建用户自定义的扫描环境。
1. 在"检查前置命令"区域，输入检查前置命令。
2. 单击"保存"。
 
#### 自定义参数
用户可以在执行代码检查任务之前，根据实际情况设置"自定义参数"，一般用作用户执行脚本的环境变量（即脚本可以引用该环境变量），如password、username等自定义参数，可以在[检查前置命令]中通过${参数名}引用。
1. 在"自定义参数"区域，参考[表1]配置参数。
   
    表1自定义参数配置说明 
   | 参数      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   |:---|:---|
   | 参数名称 | 1. 自定义参数名称，可自定义。  2. 仅支持大小写英文，数字，点，下划线"_"和连接符"-"。  3. 字符长度范围为1\~128。                                                                                                                                                                                                                         |
   | 参数值    | 字符长度范围为1\~8192。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 私密参数 | 1. 默认关闭状态。单击![](https://support.huaweicloud.com/usermanual-codecheck/zh-cn_image_0000002506378344.png)按钮开启，单击"保存"，该条参数的参数值将不会展示。  2. 参数为私密参数时，系统会将输入参数做加密存储，使用时进行解密，同时在运行日志里不可见。   **注意：** 单击"保存"后**，** 开启状态的![](https://support.huaweicloud.com/usermanual-codecheck/zh-cn_image_0000002538098103.png)按钮不可关闭，自定义的私密参数将不能查看或修改，可删除后重设。 |
      
   单击![](https://support.huaweicloud.com/usermanual-codecheck/zh-cn_image_0000002506538196.png)"删除"图标可删除对应自定义参数项。
   单击"新增参数"按钮，可添加多个自定义参数，自定义参数最多为50个。
   
   
2. 单击"保存"。
 
#### 配置执行主机
配置代码检查任务运行的主机。可根据实际情况选择资源池，自定义资源池和专属资源池为在资源池中添加的代理执行机，具体自定义操作可参考[资源池管理](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0015.html)。
参考[表2]选择资源池后，单击"保存"即可。
 表2执行主机 
| 主机类型      | 说明                                                                                                                                                    |
|:---|:---|
| 默认资源池   | 代码检查服务自身提供的执行主机，用户无需配置即可开箱即用。执行机默认规格为8U32G。                                                                                                           |
| 专属资源池 | 由CodeArts自动创建并托管的用户专享的任务运行环境，支持内网连通用户私有VPC，提供安全的全内网运行环境。 在"代理资源池"的下拉框中选择对应的资源池。                                 |
| 自定义资源池 | 用户自行提供的计算资源，通过注册的方式托管到代码检查服务中，通过代码检查服务进行调度并执行代码检查任务。代码检查服务目前仅支持LINUX和LINUX_DOCKER自定义执行机。 在"代理资源池"的下拉框中选择对应的资源池。 |
   
 #### 配置自定义镜像和镜像中自定义引擎的位置
![](https://support.huaweicloud.com/usermanual-codecheck/public_sys-resources/notice_3.0-zh-cn.png)
默认执行机不支持配置"镜像中自定义引擎的位置"。
1. 在"自定义镜像"中，输入以"域名称/组织名称/仓名称:tag名称"格式的内容或容器镜像服务SWR内镜像链接。
2. 在"**镜像中自定义引擎的位置**"中输入镜像中三方引擎所在目录。当前仅集成SonarQube场景下支持该参数。
3. 完成后，单击"保存"。
 
#### 配置第三方引擎
如果CodeArts Check当前提供的检查引擎不满足用户的使用需求，可使用第三方引擎检查工具执行代码检查任务。
**第三方引擎仅支持在自定义执行机和专属资源池上使用，在配置第三方引擎前，需在自定义执行机上导入第三方引擎和相关插件。**
- 引擎名称：选择导入的第三方引擎。
- 引擎执行命令：输入对应开发语言的引擎命令，字符范围为0\~1024。
- 报告路径：填写执行报告在自定义执行机上的存放路径。
 
#### 相关文档
- 关于自定义执行机的最佳实践可参考[使用自定义执行机执行代码检查任务](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1007.html)。
- 关于第三方引擎的最佳实践可参考[基于第三方引擎执行代码检查](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1011.html)。
 
