workspace publish
workspace publish 将远程 draft 发布为新版本。server 会先把新版本记录为 preparing,依赖和 runtime 准备完成后才将版本标为 online 并更新 latest 指向;同一 workflow 的发布请求会串行分配版本号,避免并发请求复用同一个版本。版本号由 server 管理,CLI 不再支持手动 --version。
从 issue #95 起,publish 也基于顶层 package.json.id UUID 定位远程项目。CLI 会先读取本地 package 里的 UUID;如果 workflow 还没有绑定 server UUID,或当前账号不是项目 owner/manager 且没有全局发布权限,命令会直接失败。
命令格式
参数
| 参数 | 说明 |
|---|---|
<workflow> | 远程 workflow 名称。 |
--release-log <text> | 发布日志。未传时按 server 默认行为处理。 |
API
| 步骤 | Endpoint |
|---|---|
| 发布 draft | POST /api/workflows/{workflow}/publish |
输出
| 情况 | 输出 |
|---|---|
| 发布成功 | server publish API JSON。 |
| 没有可发布 draft | server 返回错误 JSON,退出码为 1。 |
| 未登录 | 输出错误信息,退出码为 1。 |
示例
注意事项
| 场景 | 说明 |
|---|---|
| 需要上传并立即发布 | 可使用 upload --release-log。 |
| 需要查看 latest | 使用 versions,其中 status 会显示 preparing/online/offline。 |
传入 --version | 当前 CLI 会报错,版本号由系统生成。 |
| 缺失 UUID 或未创建远程项目 | 先执行 upload --create 创建并绑定 server UUID。 |