
# 通过流水线自动完成CodeArts制品产物漏洞扫描
#### 应用场景
随着软件功能的不断扩大，网站面临的安全风险也在增加，如何快速精准地识别网站安全风险成了一大难题。
通过搭建流水线，可实现从代码仓到获取软件漏洞结果的整个流程，同时可以通过配置不同的准出条件，对漏洞实现分级管理。
#### 方案优势
- 搭建简单，无需重复配置 只需在搭建流水线时配置一次，即可重复实现完成漏洞扫描的完整流程。
  
- 漏洞风险分级治理 支持配置准出条件，实现对不同风险等级漏洞的分级管理并对扫描结果进行拦截。
  
 
#### 约束限制
流水线可配置定时任务或外部触发执行，使用插件扫描会扣除用户所购买的套餐配额，如未购买套餐，则扣除免费的基础版配额。
#### 操作流程
本文介绍如何通过流水线完成代码修改、漏洞扫描的全过程，基本操作流程如下：
[步骤1：新建规则和策略]
[步骤2：新建Scrum项目]
[步骤3：新建代码仓库]
[步骤4：新建流水线]
[步骤5：查看插件执行结果]
 #### 步骤1：新建规则和策略
1. 登录华为云官网，单击页面右上角**"控制台"**。
2. 在页面左上角单击![](https://support.huaweicloud.com/bestpractice-vss/zh-cn_image_0000002337364125.png)，打开服务列表。
3. 搜索**"流水线"**。
4. 单击**"流水线 CodeArts Pipeline"**，进入流水线服务首页。
5. 单击右上角头像图标，在下拉菜单中选择**"租户设置"**，进入租户设置页面。
6. 单击左侧导航**"策略管理 \> 规则**"，进入规则管理页面。
7. 单击**"新建规则"** ，进入**"新建规则"** 页面，配置以下信息。
   
   表1配置规则信息 
   | **参数项** | **说明**                                                      |
   |:---|:---|
   | 名称      | 规则名称，使用自动生成的即可。                                             |
   | 类型      | 规则类型，选择**"测试"**。                                            |
   | 选择插件    | 规则绑定的插件名称，选择**"漏洞扫描-网站扫描插件"**。                              |
   | 插件版本    | 规则绑定的插件版本（选择插件的最新版本），不同插件版本输出的阈值可能有差异，例如选择**"1.0.5** **"**。 |
   | 阈值配置    | 配置检查项阈值，例如[图1]所示。           |
      
   图1新建规则   
   ![](https://support.huaweicloud.com/bestpractice-vss/zh-cn_image_0000002304015546.png)
   
   
8. 单击**"确定"**，完成规则创建。
9. 单击左侧导航**"策略"**，进入策略管理页面。
10. 单击**"新建策略"** ，进入**"新建策略"** 页面，输入策略名称，勾选新建好的规则。
    
    图2新建策略   
    ![](https://support.huaweicloud.com/bestpractice-vss/zh-cn_image_0000002303963790.png)
    
    
    
11. 单击**"确定"**，完成策略创建。
 
 #### 步骤2：新建Scrum项目
1. 单击顶部导航栏**"首页"**。
2. 在所有项目下单击**"Scrum \> 新建项目"**。
3. 选择"**Scrum"** 项目模板，单击**"选用"**，进入新建项目页。
4. 项目名称填写**"Scrum01**"，其它保持默认即可。
5. 单击**"确定"** 后，进入到**"Scrum01"**项目下。
 
 #### 步骤3：新建代码仓库
1. 在页面导航栏选择**"代码 \> 代码托管**"，进入代码托管页面。
2. 单击**"新建仓库** "，选择**"普通新建"**。
3. 单击**"下一步"**，填写仓库名称。
4. 单击**"确定"**，完成代码仓库的创建。
 
 #### 步骤4：新建流水线
1. 在页面导航栏选择**"持续交付 \> 流水线"**，进入流水线页面。
2. 单击**"新建流水线"** ，根据需要配置流水线信息。
   
   1. 基本信息：配置以下信息，单击**"下一步"** 。
      表2流水线基本信息 
      | 配置项  | 配置建议                                             |
      |:---|:---|
      | 名称   | 流水线名称，使用默认生成的即可。                                 |
      | 代码源  | 选择"Repo"。                                        |
      | 代码仓  | 选择[已创建的代码仓库]。 |
      | 默认分支 | 选择"master"分支。                                    |
         
      
   
   2. 选择模板：选择**"空模板"** ，单击**"确定"**。
   
   
   
   
3. 进入**"任务编排"** 页面，系统默认生成两个阶段（"流水线源"和"阶段_1"）。
   
   1. **流水线源**
      保持默认即可。
      
   
   2. **阶段_1** （扫描阶段）
      1. 单击**"阶段_1"** 阶段的**"新建任务 \> 从空任务新建"**，弹出新建任务侧滑框。
      
      2. 单击**"测试"** 分类，找到**"漏洞扫描-网站扫描插件"**插件。
      
      3. 将鼠标移动到插件，单击**"添加"**，扫描域名配置想要扫描的域名。
      
      4. 单击**"确定"**，完成任务配置。
      
      5. 单击**"阶段_1"** 阶段的"准出条件"，在弹出的侧滑框里添加准出条件，将鼠标移动到**"标准策略准出条件"** 上，单击**"添加"** ，并选择[已创建好的策略]。
      
      6. 单击**"确定"**，完成准出条件配置。
       
   
   
   
   
4. 任务编排完成后，单击**"保存并执行 \> 执行**"，开始执行流水线。
 
 #### 步骤5：查看插件执行结果
1. 流水线执行完成后，进入详情页面。
2. 单击**"阶段_1"** 阶段的**"漏洞扫描"**任务，弹出侧滑框。
3. 在侧滑框的**"任务日志"** 页面，单击**"详情"**，页面跳转到漏洞扫描服务对应的扫描详情页面，即可查看扫描结果。
4. 在侧滑框的**"任务结果"** 页面，单击**"漏洞扫描-网站扫描插件"**可以直接查看部分扫描结果。
5. 单击准出条件，可查看扫描结果是否满足设置的规则，从而控制流水线执行。 
   - 当扫描结果满足条件时，流水线继续执行。
   
   - 当扫描结果不满足条件，流水线停止执行。
   
   
   
   
 
