通过流水线自动完成CodeArts制品产物二进制成分分析
应用场景
随着软件功能的不断扩大,软件面临的安全风险也在增加,如何快速精准地识别软件安全风险成了一大难题。
- 传统方式需要用户打包后再手动上传软件包进行扫描,然后查看扫描结果获取软件漏洞信息,过程繁琐。
- 不同的软件漏洞风险影响不同,需手动识别。
通过搭建流水线,可实现从代码仓到获取软件漏洞结果的整个流程,同时可以通过配置不同的准出条件,对软件漏洞实现分级管理。
方案优势
约束限制
流水线可配置定时任务或外部触发执行,为避免不必要的扫描次数浪费,使用插件需要购买二进制成分分析包周期版本,暂时不支持购买按需套餐包的用户使用插件。
操作流程
本文介绍如何通过流水线完成代码修改、构建出包、漏洞扫描的全过程,基本操作流程如下:
步骤1:新建规则和策略
- 登录华为云官网,单击页面右上角“控制台”。
- 在页面左上角单击
,打开服务列表。
- 搜索“流水线”。
- 单击“流水线 CodeArts Pipeline”,进入流水线服务首页。
- 单击右上角头像图标,在下拉菜单中选择“租户设置”,进入租户设置页面。
- 单击左侧导航“策略管理 > 规则”,进入规则管理页面。
- 单击“新建规则”,进入“新建规则”页面,配置以下信息。
表1 配置规则信息 参数项
说明
名称
规则名称,使用自动生成的即可。
类型
规则类型,选择“测试”。
选择插件
规则绑定的插件名称,选择“二进制软件成分分析”。
插件版本
规则绑定的插件版本,不同插件版本输出的阈值可能有差异,例如选择“1.0.0”。
阈值配置
配置检查项阈值,例如图1所示。
- 单击“确定”,完成规则创建。
- 单击左侧导航“策略”,进入策略管理页面。
- 单击“新建策略”,进入“新建策略”页面,输入策略名称,勾选新建好的规则。
图2 新建策略
- 单击“确定”,完成策略创建。
步骤2:新建Scrum项目
- 单击顶部导航栏“首页”。
- 在所有项目下单击“Scrum > 新建项目”。
- 选择“Scrum”项目模板,单击“选用”,进入新建项目页。
- 项目名称填写“Scrum01”,其它保持默认即可。
- 单击“确定”后,进入到“Scrum01”项目下。
步骤3:新建代码仓库
- 在页面导航栏选择“代码 > 代码托管”,进入代码托管页面。
- 单击“新建仓库”,选择“按模板新建”。
- 单击“下一步”,选择“Java Maven Demo”模板。
- 单击“下一步”,填写仓库名称。
- 单击“确定”,完成代码仓库的创建。
步骤4:新建编译构建任务
- 在页面导航栏选择“持续交付 > 编译构建”,进入编译构建页面。
- 单击“新建任务”,根据需要配置任务信息。
- 配置基本信息:填写任务名称,选择Repo代码源,选择已创建的代码仓库,选择默认分支master,单击“下一步”。
- 选择构建模板:选择Maven系统模板,单击“确定”,进入“构建步骤”页面,使用默认配置即可。
- 单击“保存”,完成构建任务的创建。
步骤5:新建流水线
- 在页面导航栏选择“持续交付 > 流水线”,进入流水线页面。
- 单击“新建流水线”,根据需要配置流水线信息。
- 基本信息:配置以下信息,单击“下一步”。
表2 流水线基本信息 配置项
配置建议
名称
流水线名称,使用默认生成的即可。
代码源
选择“Repo”。
代码仓
选择已创建的代码仓库。
默认分支
选择“master”分支。
- 选择模板:选择“空模板”,单击“确定”。
- 基本信息:配置以下信息,单击“下一步”。
- 进入“任务编排”页面,系统默认生成两个阶段(“流水线源”和“阶段_1”),单击“新建阶段”新增一个阶段“二进制成分分析”。
- 配置构建阶段
- 单击“阶段_1”的“新建任务”,弹出“新建任务”侧滑框。
- 单击“构建”分类,找到“Build构建”插件。
- 将鼠标移动到插件,单击“添加”,选择已创建的构建任务,选择构建任务关联的仓库,产物标识输入“javaSample”。
- 单击“任务配置”,将任务ID设置为“build”。
- 单击“确定”,完成任务配置。
- 配置二进制成分分析阶段
- 单击“二进制成分分析”阶段的“新建任务 > 从空任务新建”,弹出新建任务侧滑框。
- 单击“通用”分类,找到“下载制品产物”插件。
- 将鼠标移动到插件,单击“添加”,产物链接输入“${{jobs.build.artifacts.javaSample}}”。
- “build”为构建阶段中设置的任务ID。
- “javaSample”为构建阶段中“Build构建”插件中设置的产物标识。
- 单击“添加步骤”,在“测试”分类找到“二进制软件成分分析”插件,使用默认配置。
- 单击“确定”,完成任务配置。
- 单击“二进制成分分析”阶段的“准出条件”,在弹出的侧滑框里添加准出条件,将鼠标移动到“标准策略准出条件”上,单击“添加”,并选择已创建好的策略。
- 单击“确定”,完成准出条件配置。
- 配置构建阶段
- 任务编排完成后,单击“保存并执行 > 执行”,开始执行流水线。