检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
CodeArts Pipeline最佳实践汇总 本文汇总了基于流水线(CodeArts Pipeline)常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,助力用户完成CI/CD持续交付。 表1 CodeArts Pipeline最佳实践一览表 实践 描述 通过微服务变更流水线修复项目BUG并快速发布
如果设置了代码源别名,可基于别名生成仓库对应的系统参数,未设置别名则以仓库名作为别名,生成系统参数,如:“别名_TAG”,表示仓库标签名称。 当同一条流水线关联多个参数组,且多个参数组存在同名参数时,以后关联的参数组参数取值为准。 参数引用形式:${参数名},在参数输入框输入“$”符号后会自动出现参数列表。
进入发布管理环境列表页面。 单击环境名称,进入“环境信息”页面。 单击“环境变量”页签,切换至“环境变量 > 自定义变量”页面。 单击“编辑变量”,可新增一条变量,填写参数信息。 表2 自定义变量参数说明 参数项 说明 变量名 变量名称。支持英文字母、数字、“-”、“_”、“.”,长度不超过128个字符。
流水线分组ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 by_group 否 Boolean 参数解释: 是否分组查询。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 query_new 否 Boolean 参数解释: 是否只查询新版流水线。
Region分为通用Region和专属Region: 通用Region指面向公共租户提供通用云服务的Region。 专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个A
包括查询模板列表、创建流水线模板、查询模板详情等接口。 流水线管理 包括启动流水线、批量获取流水线状态、获取流水线状态/获取流水线执行详情等接口。 分组管理 包括新建流水线分组、更新流水线分组、删除流水线分组等接口。 规则管理 包括获取单条规则详情、分页获取规则列表、更新规则等接口。 租户级策略管理 包括创建策略、修改策略、获取策略详情等接口。
流水线上下文 流水线上下文存储了流水线运行的实例、变量、任务等信息,每个上下文都是一个包含各种属性的对象。流水线上下文主要包括以下四类: 表1 流水线上下文 上下文 类型 说明 pipeline object 流水线运行相关的信息。 sources object 流水线运行的源相关的信息。
排序插件 单击插件卡片不松开,可以移动插件调整插件顺序。 任务配置 配置任务ID、执行主机和执行条件。 任务ID:。流水线阶段任务的ID,同一条流水线上的任务ID不能重复。支持大小写英文字母、数字、“-”、“_”,长度范围为1~128个字符。 执行主机:包括内置执行机和自定义执行机。
API 模板管理 流水线管理 分组管理 规则管理 租户级策略管理 项目级策略管理 扩展插件管理 标签管理 变更管理 微服务管理 模板管理(旧版,待下线) 流水线管理(旧版,待下线)
项目级策略可以应用到当前项目下所有流水线。本节以租户级策略为例进行介绍。 单击左侧导航栏“策略”,进入策略管理页面。 租户级策略中默认存在一条“系统策略”,用户可查看和使用该策略,但不能进行编辑和删除。 单击“新建策略”,进入“新建策略”页面,输入策略名称,勾选步骤1中新建好的规则。
规则:基于扩展插件的输出阈值,设置比较关系和阈值条件,供策略使用,并最终应用到流水线准出条件中,作为准出条件的判断依据。 策略:策略是一系列规则的集合,每个规则对应了一个步骤插件的输出指标值的条件模板,通过预定义策略,可以很方便地在多条不同流水线中应用同样的准出条件。策略实行分层管理,可分为租
父级规则实例模板简要信息 表6 RuleInstanceContent 参数 参数类型 描述 group_name String 分组名称 type String 分组类型 can_modify_when_inherit Boolean 继承后的子策略是否可以修改阈值 properties
约束与限制 购买须知 流水线不支持单独购买,需开通CodeArts套餐后使用。 不同区域购买的资源不能跨区使用,需慎重选择。 使用须知 禁止构造存在风险的使用场景,对服务进行恶意攻击,如:DDos、Redos攻击等。 如果您使用CodeArts Pipeline服务开展特定行业的
”,如图4。 图3 Build构建任务ID 图4 Build构建产物标识 单击“下一步”,进入“输出信息”页面,单击“新增配置”,即可新增一条输出信息,包括output和metric两种类型。 output:结合Shell命令用于数据输出。 metric:用于输出指标解析,输出信
默认情况下,有编辑或执行权限就有查看权限。 流水线权限 初始状态下,项目下各角色具有的流水线权限如下表所示: 表3 项目级流水线权限 角色 查看 创建 执行 修改 删除 分组 项目创建者 √ √ √ √ √ √ 项目经理 √ √ √ √ √ √ 开发人员 √ √ √ × × × 测试经理 √ × × × × ×
批量运行流水线 查询流水线任务日志 延时任务通过 延时任务拒绝 延时1小时 手动卡点通过 手动卡点拒绝 解除挂起 查询批量执行流水线结果 交换分组顺序 流水线官方消息通知查询 流水线官方消息通知更新 流水线消息通知开关 流水线第三方消息通知查询 流水线第三方消息通知更新 查询流水线的角色权限
新增如下接口: 规则管理。 租户级策略管理。 项目级策略管理。 扩展插件管理。 2023-11-21 第二十九次正式发布,本次变更说明如下: 新增分组管理相关接口。 2023-11-13 第二十八次正式发布,本次变更说明如下: 创建流水线接口参数类型更新。 2023-11-08 第二十七次正式发布,本次变更说明如下:
参数解释: 流水线运行实例ID。 取值范围: 不涉及。 group_id String 参数解释: 分组ID。 取值范围: 32位字符。 group_name String 参数解释: 分组名称。 取值范围: 不涉及。 detail_url String 参数解释: 详情页地址。 取值范围:
父级规则实例模板简要信息 表4 RuleInstanceContent 参数 参数类型 描述 group_name String 分组名称 type String 分组类型 can_modify_when_inherit Boolean 继承后的子策略是否可以修改阈值 properties
content 是 Array of RuleContent objects 规则属性分组列表 表4 RuleContent 参数 是否必选 参数类型 描述 group_name 是 String 分组名称 can_modify_when_inherit 否 Boolean 继承后的子策略是否可以修改阈值