# 配置准出条件并对代码检查结果进行校验
#### 方案概述
传统软件质量保障以人工验收测试为主，效率低。当前软件能力难以支持业务需要，大量测试验收需要人工手动进行，自动化覆盖率低，且需要人工筛查识别满足验收条件的版本进行后续发布等处理流程，整体测试效率低下。
CodeArts Pipeline提供统一的准出条件管理能力，通过配置规则和策略，实现阶段准出校验，并最终控制流水线的执行。用户根据实际需要将策略资源应用到流水线作为准出条件，帮助高效管理项目，保障产品高质量交付。
通过流水线准出条件-Check代码检查规则策略自动化看护，拦截70%+问题，提高测试效率的同时，提高软件质量。
#### 操作流程
本文基于流水线准出条件-Check代码检查规则策略，通过添加代码检查任务所在阶段的准出条件，对代码检查任务的检查结果进行自动化校验，只有检查结果满足准出条件，才可以进入下一个阶段。
基本操作流程如下：
表1操作流程说明 
| **流程**                                                       | **说明**                                                                                                                                                                                                                                                                          | 计费说明                                                                                                                   |
|:---|:---|:---|
| [新建规则并配置阈值]    | 新建一个代码检查类型规则，基于代码检查插件的输出结果，设置比较关系和阈值条件，供策略使用，作为准出条件的判断依据。                                                                                                                                                                                                                          | 需升级CodeArts套餐至基础版才可使用，开通套餐可参考[CodeArts计费模式概述](https://support.huaweicloud.com/price-devcloud/codearts_29_0003.html)。  |
| [新建策略并添加规则]   | 新建一个策略，并添加如上代码检查类型规则。                                                                                                                                                                                                                                                              | 需升级CodeArts套餐至基础版才可使用，开通套餐可参考[CodeArts计费模式概述](https://support.huaweicloud.com/price-devcloud/codearts_29_0003.html)。 |
| [配置流水线]       | 在流水线阶段准出条件添加如上策略，根据设置的规则条件，来控制流水线执行。                                                                                                                                                                                                                                                                          | 不涉及计费。                                                                                                                |
| [执行流水线验证准出条件] | 执行流水线，验证准出条件拦截结果。 - 代码检查插件满足规则条件，通过准出条件校验，流水线继续执行。  - 代码检查插件如果不满足规则条件，没有通过准出条件校验，流水线终止执行。   | 不涉及计费。                                                                                                               |
   
 #### 准备工作
- 已[开通并授权使用CodeArts Pipeline](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0033.html)。
- [新建项目](https://support.huaweicloud.com/qs-projectman/projectman_06_1000.html)（选择"Scrum"模板，命名为"Project_Test"）。
- [新建代码仓库](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0077.html)（选择"Java Maven Demo"模板，命名为"Repo_Test"）。
  新建代码仓库时会自动创建与代码仓库同名的代码检查任务，将代码检查任务名称修改为"CheckTask01"，操作方法请参考[创建代码检查任务](https://support.huaweicloud.com/usermanual-codecheck/codecheck_ug_0000.html)。
  
- 基于"Repo_Test"仓库[新建构建任务](https://support.huaweicloud.com/usermanual-codeci/codeci_01_0001.html)（选择"Maven"模板，命名为"BuildTask01"）。
- 基于已创建的代码仓库[新建流水线](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0001.html)（选择空模板，命名为"Pipeline-Test"）。
 
 #### 步骤1：新建规则并配置阈值
1. [登录华为云控制台页面](https://console.huaweicloud.com/console)。
2. 单击页面左上角![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000001984394261.png)，在服务列表中选择"开发与运维 \> 流水线 CodeArts Pipeline"。
3. 单击"立即使用"，进入流水线服务首页。
4. 单击右上角头像图标，在下拉菜单中选择"租户设置"，进入租户设置页面。
5. 在左侧导航栏选择"策略管理 \> 规则"，进入规则管理页面。
6. 单击"新建规则"，进入"新建规则"页面，配置以下信息。 
   图1新建规则
   ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002234298156.png "点击放大")
   表2配置规则信息 
   | **参数项**  | **说明**                          |
   |:---|:---|
   | 名称    | 规则名称，输入"校验代码检查结果"。               |
   | 类型  | 规则类型，选择"代码检查"。                   |
   | 选择插件 | 规则绑定的插件名称，选择"Check代码检查"。         |
   | 插件版本  | 规则绑定的插件版本，选择"0.0.1"。            |
   | 阈值配置 | 根据选中的插件版本自动获取的插件输出阈值配置，这里使用默认值即可。 |
      
   
   
7. 单击"确定"，跳转至规则页面，完成规则创建。 
   ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002269269377.png "点击放大")
   
   
   
 
 #### 步骤2：新建策略并添加规则
策略实行分层管理，可分为租户级策略和项目级策略。其中，租户级策略可以应用到当前租户下所有项目的流水线，项目级策略可以应用到当前项目下所有流水线。本节以租户级策略为例进行介绍。
1. 单击左侧导航栏"策略"，进入策略管理页面。 
   ![](https://support.huaweicloud.com/bestpractice-pipeline/public_sys-resources/note_3.0-zh-cn.png)
   租户级策略中默认存在一条"系统策略"，用户可查看和使用该策略，但不能进行编辑和删除。
   
   
2. 单击"新建策略"，进入"新建策略"页面，输入策略名称，勾选[步骤1]中新建好的规则。
   
   图2新建策略
   ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002234155256.png "点击放大")
   
   
   
   
3. 单击"确定"，完成策略创建。 
   ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002269278177.png "点击放大")
   
   
   
 
 #### 步骤3：配置流水线
1. 单击顶部导航栏"首页"，返回华为云码道首页。
2. 找到[准备工作]中已创建的项目，单击项目名称，进入项目。
3. 在左侧导航栏选择"持续交付 \> 流水线"，进入项目下流水线列表页面。
4. 搜索[准备工作]中已创建的流水线，单击"操作"列![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000001675260764.png)，选择"编辑"，进入"任务编排"页面。
5. 单击"阶段_1"的![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002286414950.png "点击放大")，选择"从空任务新建"，添加[准备工作]中已创建的代码检查任务，选择"Full"检查模式，单击"确定"，完成代码检查任务的添加。
   
   图3添加代码检查任务   
   ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002286311680.png "点击放大")
   
   
6. 单击"阶段_1"的![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000001723301197.png)，在弹出的侧滑框里添加"标准策略准出条件"，并选择[步骤2]中新建好的策略。
   
   图4添加准出条件   
   ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002286414954.png "点击放大")
   
   
7. 单击![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002321031177.png)或者![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002286414958.png)，选择"从空任务新建"，为流水线添加一个新阶段，并在新阶段添加[准备工作]中已创建的构建任务，选择构建任务关联的仓库，单击"确定"，完成构建任务的添加。
   
   图5添加构建任务   
   ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002286311688.png "点击放大")
   
   
 
 #### 步骤4：执行流水线验证准出条件
1. 配置完流水线后，单击"保存并执行"，等待流水线执行。
2. 执行完成后，查看准出条件拦截结果。 
   - 如果代码检查任务的检查结果通过准出条件校验，则顺利执行到下一阶段。
     图6执行流水线   
     ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002380479748.png "点击放大") 
   
   - 如果代码检查任务的检查结果没有通过准出条件校验，则终止执行，单击准出条件，可查看详细的校验结果。
     图7执行流水线   
     ![](https://support.huaweicloud.com/bestpractice-pipeline/zh-cn_image_0000002414079121.png "点击放大") 
   
   
   
   
 
