图例
侧载接入(设备 → 控制面)
任务派发 / 心跳(Pull)
文件通道(附件 / 产物)
主机网络策略(仅出站)
资源准入 / 看门狗
侧载边界(非内建)
① 持有侧载令牌→
② 提交任务→
③ 校验 scope→
④ 调度机排队 / 派发→
⑤ 开发机执行→
⑥ 文件通道收集→
⑦ 客户端下载产物
只有两个内建角色
平台只有调度机和至少一台开发机。开发人员、测试人员、售后人员、CI 任务、脚本和外部系统都通过侧载令牌进入,因此不需要为它们新增角色、容器或派发规则。
固定的调用链
设备只调用控制面;控制面校验令牌、解析主机及其根调度机,再转发请求。设备看不到调度机地址,也不持有实例凭据——与后台管理端走的是同一条路径。
侧载不是 Agent
它没有容器、不注册、不发心跳、不占租约。由于复用常规的任务 / 租约 / fencing 路径,它无法绕过调度、准入和审计。
主机保持通用并可横向扩容
每台开发机暴露相同的通用能力:独立工作区、绑定的 Agent Profile 或 Shell、scope 内的控制台命令,以及启动前的资源准入。扩容意味着增加主机,而不是定义新角色或项目专属操作。
权限天生最小
scope 是封闭集合:tasks:read、tasks:write、builders:read、queue:read、console:run。其中 console:run 需在 tasks:write 之上单独授予;未知 scope 会被拒绝而不是忽略。
文件双向流动
输入以附件上传,落到 <workspace>/attachments/。输出通过调度机的产物通道收集:任意格式,校验 SHA-256,逐字节返回,而不是塞进标准输出。