EulerDevOps 原生开发服务使用手册
本文聚焦于 web 页面的维度进行 EulerDevOps 原生开发服务的功能介绍。
1. 登录与注册
EulerDevOps 原生开发服务采用基于 openEuler 社区鉴权服务的多端统一用户管理系统,社区身份+集群身份共同组成用户个体。
初始页面,点击悬浮右上角图标,点击登录按钮登录。
openEuler社区鉴权,验证身份。
lab-z9 作为当前公共执行机集群,用户可以在社区身份鉴权完成后,需要注册或绑定 lab-z9 的 Compass-CI 帐户。
绑定用户,需要提供 Compass-CI 帐号、Compass-CI 用户名、Compass-CI 邮箱、Compass-CI 令牌四个必填字段。
如果之前没有 lab-z9 集群的 Compass-CI 帐户,也可以注册新用户。
2. 新建流水线
EulerDevOps 原生开发服务支持基于 lkp-tests 仓库中的流水线 yaml 模板快速创建新流水线,流水线模板根据其所属目录分为不同类型,便于用户根据具体需求场景快速选取。
点击新建流水线按钮(当页面不存在流水线数据时按钮居中,当页面存在流水线数据时按钮位于左上角)。
可以通过选择“公开”或“受限”设定流水线的初始类型,公开类型的流水线所有用户可查看其内容但无法操作,受限类型的流水线所有接口权限均被管控。同时,用户需要选择某个仓库类型或自定义类型的客户端,流水线基于该客户端运作(客户端不同流水线模板以及可选的原子任务不同)。
公开类型的流水线可以被任意用户查看详情,但除查询外的操作需要流水线 maintainer 管理权限。
受限类型的流水线则受到流水线 maintainer 的全权管控。
3. 编排流水线
流水线的编排分为通过 web 页面进行 UI 编排,以及通过 YAML 编排(修改流水线描述文本)。
UI 编排
通过 UI 编排后,变更同样会被同步到流水线 YAML 中,本质是一致的行为。流水线 web 服务提供将 UI 编排“翻译”为 YAML 内容变更的能力,以此降低用户编排流水线的入门门槛。
流水线变量设置。
定时触发条件设置。
webhook触发条件设置。
添加 webhook 触发条件后,需要到仓库进行 webhook 配置,下图以 gitee 为例。在 gitee 代码仓点击设置—WebHooks—添加 webHook。
URL 需要填写流水线服务配置 webhook 触发条件页面中提供的 webhook URL,然后选择 WebHook 密码,填写页面中生成的密码。
原子任务添加/删除(暂未开放)。
原子任务选择/详情介绍查看(暂未开放)。
原子任务参数修改(暂未开放)。
YAML 编排
通过 YAML 编排需要熟悉流水线支持的语法,流水线支持多版本语法解析,语法版本通过“version”关键字声明,目前仅支持v1.0版本语法。
v1.0语法请参考文档:EulerDevOps原生开发服务流水线语法v1.0
变更流水线类型,由公开变为受限,或由受限变为公开。
删除流水线。
4. 运行流水线
运行流水线有三种方式,用户可以手动点击流水线的运行按钮或者重新运行按钮触发流水线的执行,也可以通过编排触发设置令流水线被 webhook 事件或定时事件驱动。
webhook 事件驱动。
定时事件驱动。
手动运行可以通过如下两种按钮运行。
5. 流水线权限设置
点击设置按钮,可进入流水线的权限配置页面,通过成员管理、角色分配以及角色权限设置完成流水线权限管理。
点击设置,进入成员管理。
可以通过邀请链接(暂未开放)或者直接用户名添加的方式添加流水线成员。
可以通过成员管理的操作列修改成员角色。
点击权限管理页签,可以添加自定义角色,或者基于现有角色修改访问权限。
6. 流水线运行详情
流水线运行后,可以点击流水线名称列亮起的流水线名,进入流水线最新运行的详情页,如下所示。
用户在本页面可以清晰感知流水线的运行状态,以及流水线各任务的运行细节,以及可以通过重新运行、挂起、取消运行按钮控制流水线运行状态。
查看任务详情,检阅 dmesg 日志。
重试单个任务,尝试使流水线从失败的节点继续运作。
查看历史运行记录,可通过历史运行记录表的操作列,点击详情按钮,从而跳转到历史运行详情页面检阅历史数据。
点击右上角 matrix 总览按钮,可以在流水线存在矩阵时以方块视图直观感知不同参数组合下流水线的实时执行情况。
7. 一键复现与结对调试
原生开发流水线提供了一键复现的能力,用户可以于流水线运行详情页面,点击任意任务卡片上的一键复现按钮,选择独立或者结对的方式重现任务执行环境,通过服务提供的 web 控制台或者利用公钥ssh的方式(暂未开放)访问终端,进行问题定位与调试。
独立复现意味着用户独立建立一个复现的房间,在不共享他人房间 token 时,独享该环境的 web 终端。
结对复现需要用户输入已有复现房间的 token,进入他人创建的房间共享 web 终端结对调试。