Flynor Test Runtime
测试场景的可部署组合;现有 Test Intake、Test Worker、Test MCP、Test Browser、项目 Runner 和 DevOps Test Writeback 成熟链路保持不变。Choerodon Tester 作为只读 Test Management Resource Provider,OBSERVE 作为测试编排逻辑,Runner v1 作为 Test Worker 与项目 Test Driver 的标准契约;Project Runner Adapter 已完成单次执行同响应 shadow 验收,旧 Server→Host Runner 入口继续兼容,不做无保护切换。
职责与边界
负责
- 复用 Catalog、Connector、Synchronizer 与 Resource Tool Adapter 获取代码、文档、数据库、日志、DevOps 和测试平台能力
- 让 Test Worker 复用 Worker Task/Result、任务级权限与 Agent Adapter
- 管理固定测试环境、Test Intake、测试数据申请、测试结果/证据和 DevOps Test Writeback
- 通过 Test Management Resource Provider 读取用例、计划、周期和追溯关系
- 通过 Runner v1 契约调用项目 Test Driver,并保留现有旧入口兼容
- 执行测试写回策略并返回逐动作回执
不负责
- 不拥有外部 DevOps 工作项主状态
- 不在 Worker 或 MCP 决定外部写入策略
- 不让内部模块理解具体 DevOps 产品字段
- 不让 Tester 直接调用项目 stdio Runner
- 不把 Test Manager Result Publisher 与 DevOps Test Writeback 合成一个写入口
- 不要求内部逻辑模块合并为同一进程或拆成一模块一微服务
数据与接口
拥有的数据
- 内部 Intake 只持有状态周期账本
- Worker 持有测试证据与测试数据标识清单
- Server 持有测试执行状态、策略命令与回执
- Test Manager 与 DevOps 分别拥有各自外部主状态;Flynor 只保存有界投影和回执
输入
Project Resource Connector 返回的项目资源与绑定;DevOps Connector 的 Work Item/Iteration;Server Test Execution Request 与 Writeback Command;只读 Test Management 资源与 OBSERVE 候选
输出
Test Execution Request;Test Execution Result 与证据;Test Writeback Receipt;Runner v1 Result 与测试证据
协议
flynor/test-execution-request/v1;flynor/test-execution-result/v1;flynor/test-writeback-command/v1;flynor/test-writeback-receipt/v1;flynor/test-runner-dispatch/v1;flynor/test-runner-result/v1;flynor/standard-worker-task/v1alpha1;flynor/standard-worker-result/v1alpha1;flynor/capability-invocation/v1alpha1;flynor/capability-result/v1alpha1;flynor/devops-task-operation/v1alpha1;flynor/devops-task-operation-result/v1alpha1;MCP
依赖
server;project-resource-connector;capability-adapter;worker-agent-runtime;model-runtime-connector;devops-connector;test-mcp
运行与部署
质量平台组 · pilot · active;升级路径:质量平台组 → 运行平台组 → 平台治理组
artifact · limited;顶层测试执行边界由一个多模块 Release Unit 交付;Intake、Worker、DevOps Writeback 的独立部署、账号、权限、扩缩、日志、健康检查和回滚由 runtimeModulePolicies 与各自 Profile 保留。Tester 固定源码已打入正式 Platform 项目镜像;deploy/project 的 test-observe 可选进程复用 Test Runtime 中心管理和备份,不新增顶层服务。消费者迁移与外部 live 已由 GOV-022 验收关闭;正式固定版本 0.1.0-33e6b42 已随项目包发布并通过中心 v2 回滚/升级。
当前兼容配置仍为 test-worker、choerodon-test-intake 与 choerodon-test-writeback 三套 Schema;Tester 使用独立 CHOERODON_TEST_* 与 Token Store,Runner Dispatch 不携带回调凭据。项目 Runner 可选 legacy/shadow/standard,凭据只以 scoped Secret 文件映射注入 Runner 子进程。标准模板显式 allowlist 公钥、keyId、issuer 与审计路径,签发私钥只在 Server 的 Secret Store/容器 Secret 文件;目标由 Project Resource Binding、通用 DevOps Connector 和内部模块配置组合
一个 Test Runtime Release Unit 承载三个已部署内部模块;Test Intake、Test Worker、DevOps Test Writeback 保留独立 systemd、服务身份、最小权限、扩缩、日志、doctor、验收 Profile 与回滚顺序。Tester gateway/OBSERVE 通过同一固定镜像的 Compose profile 增量加入;项目 Runner 与 Test Worker 共容器镜像、独立进程边界,不为每个逻辑模块制造微服务。
发布归档 rehearsal 验证 legacy 与 Capability 两套 Worker/Test MCP 配置,并由三个内部模块各自 doctor/accept-host;项目 Runner doctor 验证命令、工作目录和 scoped Secret 引用;真实项目分别验收只读 Intake、签名 Server→Worker→Test MCP 闭环、Runner shadow 和授权 Writeback
三个内部模块分别输出 journald/NDJSON,并以同一 executionId/traceId 与 Server 状态、策略命令和逐动作回执关联
按 Test Runtime 兼容发布线安装,但允许逐模块停领与重启;回滚复用原账本、executionId、评论标记和回执,legacy/standard 禁止同时写外部系统