@eworkbase/plugin-deploy
v0.1.0
Published
统一选择测试或 Stage 环境,分别发布各仓库的远端协作分支并查看构建结果。
Readme
Deploy
工作区统一选择 test / stage,分别发布各仓库的远端协作分支 baseBranch。保留 stage-muptiple-env 兼容规则;不支持生产与 Dev,也不会提交、推送或同步本地代码。
设置
在插件右上角打开 设置,填写 Token 和可选的 Host,点击保存。
- Token 是发布凭据;保存后不回显,留空保持已有值。当前服务使用数字身份,插件仅在后端将 Token 转为接口
userId,不需要 OAuth。 - Host 只配置一个地址模板,所有仓库和 Test / Stage 共用。
<<HOST_PREFIX>>自动替换为test、test12或stage;Stage 不使用测试号。省略协议时使用 HTTPS。 - 只有配置了有效 Host 才显示“打开环境”和复制入口;不需要先发布。Host 不决定发布目标。
- 设置保存到项目插件配置,沿用 Workbase 的配置同步机制,各工作区共用;环境选择和构建历史仍各自保存在工作区本机状态。
- 弹窗打开后若其他视图修改了设置,旧表单会拒绝覆盖,关闭后重新打开即可。保存失败保留输入并显示错误。
插件配置仅有以下字段:
# .workbase/plugins/deploy/config.yaml,以下均为示例
# 建议通过设置弹窗编辑
token: "12345"
host: https://<<HOST_PREFIX>>.example.invalid不再配置 repoName、仓库映射、服务 URL 或 userId。服务固定为 xfe-cli 的默认地址 https://deploy.eshetang.com。插件从可信宿主仓库清单获取名称(Workbase 导入仓库时从 URL 提取),优先精确匹配发布目录,其次使用唯一后缀匹配;目录没有匹配时沿用该仓库名称,同名歧义时拒绝发布。
先前开发版字段没有自动迁移;若使用过旧版配置,打开设置输入 Token 并保存,新格式会替换旧字段。旧构建摘要保留,不能使用不匹配的身份查询。
发布与状态
- 在顶部选择 Test / Stage 与测试环境号,修改后点击“应用环境”。所有仓库共用这个工作区目标。
- 选择仓库,点击“发布到 test12”等主操作。确认内容包含远端协作分支与本地未同步情况;允许提示后发布远端已有内容。
- 收到构建编号后显示等待构建,页面可见时继续查询状态。刷新失败保留最后结果和查询时间。
测试号为空表示 test,数字保留前导零。Stage 始终使用 stage。项目 Topics 包含 stage-muptiple-env,且 testN 的 N 小于 100 时使用 Stage 构建类型,访问环境仍为 testN;其他 Test 使用类型 1,Stage 使用类型 2。
Git 检查仅使用本地跟踪快照,不执行 fetch,不承诺远端实时同步或按本地 SHA 固定构建。远端服务读取协作分支当时的内容。
同工作区同一实际发布项目有活动构建或结果待核对时不能重复触发。POST 超时或响应不明不会自动重发;在构建平台核对后,显式选择“已核对,允许重新发布”才能解除本机限制。保存回执失败仍尽可能保留构建引用。
关闭视图或应用仅停止本地观察,不取消远端构建。默认保留每仓库最近 20 条终态摘要,活动和待核对记录不自动裁剪;历史不包含其他成员或外部工具的完整发布。调整 Host 不影响既有构建查询,换 Token 后旧身份记录保留但不再查询。
安装与本地开发
普通可选包 @eworkbase/plugin-deploy,ID deploy,显示名 Deploy。要求 Workbase ^0.6.9、插件 API 2、Node.js 22 以上。本地开发按现有覆盖机制运行:
# 合并到目标项目现有 .workbase/project.yaml
plugins:
deploy:
version: 0.1.0
enabled: truepnpm --filter @eworkbase/plugin-deploy build
WORKBASE_LOCAL_PLUGINS_DIR="$PWD/packages" pnpm tauri dev无需宿主静态登记;完整安装说明见仓库 docs/plugin-development.md。
本地验证
pnpm --filter @eworkbase/plugin-deploy typecheck
pnpm --filter @eworkbase/plugin-deploy build
node --no-warnings --experimental-strip-types --experimental-transform-types --test test/node/plugins/deploy.test.mjs
pnpm --filter @eworkbase/plugin-deploy pack --pack-destination /tmp/workbase-deploy-pack已有 Playwright 和可用浏览器时,可运行真实 UI 与 SDK 通信的模拟宿主:
WORKBASE_PLAYWRIGHT_MODULE=/absolute/path/to/playwright/index.mjs \
WORKBASE_CHROME_PATH=/absolute/path/to/chrome \
node test/node/plugins/deploy-ui.check.mjs截图和 JSON 报告默认在系统临时目录的 workbase-deploy-review,支持 WORKBASE_DEPLOY_REVIEW_DIR 覆盖。模拟宿主不连接真实服务,不能替代 Tauri 自定义协议、系统打开器或 deploy-go 联调;实际证据见 OpenSpec 的 plugin-repository-deploy/验证记录.md。
