PipelineRun。
概念
- Pipeline:与项目绑定的版本化定义,可内联存放,也可由 Git 仓库的
pipeline.yaml提供。 - Stage:一组按顺序执行的 Job。流水线可以显式声明多个 Stage,也可以使用
jobs简写,由 Arcentra 自动包裹一个默认 Stage。 - Job:调度到单个 Agent 的工作单元,声明执行的 Step、条件以及矩阵展开等。
- Step:原子动作。Step 要么是 builtin(如
shell),要么通过uses + action + args调用插件。 - PipelineRun / JobRun / StepRun:运行期对象,记录各自的状态、日志、产物 与时间线。
- Trigger:
manual、cron、event(Webhook)。可结合审批门控。
状态枚举
| 对象 | 状态 |
|---|---|
| PipelineRun | pending、running、success、failed、cancelled、paused、partial |
| JobRun | pending、queued、running、success、failed、cancelled |
| StepRun | pending、queued、running、success、failed、cancelled、timeout、skipped |
流水线定义
流水线以结构化 spec 的形式表达。两种支持的写法:jobs 简写省略了 stages:
Source、Approval、Target、Notify 与
Triggers 块。完整 schema 与 DSL 字段请参考源码仓库内的流水线文档。
HTTP API
流水线 HTTP 接口位于控制平面/api/v1/pipelines 之下。
鉴权
所有接口都需要 Bearer Token:application/json。
响应封装
带响应体的成功:接口列表
流水线管理
POST /api/v1/pipelinesPUT /api/v1/pipelines/:pipelineIdGET /api/v1/pipelines/:pipelineIdGET /api/v1/pipelinesDELETE /api/v1/pipelines/:pipelineId
定义文件
GET /api/v1/pipelines/:pipelineId/specPOST /api/v1/pipelines/:pipelineId/spec/validatePOST /api/v1/pipelines/:pipelineId/spec/save
运行控制
POST /api/v1/pipelines/:pipelineId/triggerGET /api/v1/pipelines/:pipelineId/runsGET /api/v1/pipelines/runs/:runIdPOST /api/v1/pipelines/:pipelineId/runs/:runId/stopPOST /api/v1/pipelines/:pipelineId/runs/:runId/pausePOST /api/v1/pipelines/:pipelineId/runs/:runId/resume
常用请求体
创建流水线
校验定义
保存定义
定义类接口仅接受结构化
spec。历史的 content 文本字段已经移除。触发流水线
暂停 / 恢复 / 停止
枚举
saveMode:direct、prformat:json、yaml、yml- 流水线状态:
pending、running、success、failed、cancelled、paused
实时更新
流水线、Job、Step 的实时事件通过两个通道暴露:GET /api/v1/ws提供日志与状态订阅的 WebSocket 网关。- gRPC 的
stream.v1服务,面向服务端集成。