跳到正文

部署

vifu deploy 会把本地 Vifu 游戏项目变成可以在 Vifu Web 中打开的可玩游戏。

MVP 阶段的部署不是市场提交。它的目标是先生成一个“自己和分享对象可以马上打开”的可玩链接。

基本命令

在游戏目录中运行:

bash
vifu deploy

指定其他目录:

bash
vifu deploy ./my-game

--game-dir 是旧别名。新的文档和教程使用位置参数目录。

它会做什么

  1. 解析游戏目录。
  2. 如果还没有 Vifu 项目设置,启动设置流程。
  3. 验证项目设置。
  4. 如果有 build.command,运行它;否则使用内置静态 Web 构建。
  5. 验证 build.output 中的 HTML 入口和成果物策略。
  6. 只有验证通过且成果物变化时才上传。
  7. 更新同一个登录用户和部署名对应的游戏。
  8. 除非传入 --no-share,否则创建可玩的链接。

不需要服务器 id。同一个用户在同一个项目名或部署名下重复执行,会更新同一个游戏。

第一次部署的设置

如果还没有项目设置,vifu deploy 会在构建前询问项目细节。完整设置流程、CI 行为和常见项目形态见 部署设置

常用选项

bash
vifu deploy --dry-run
vifu deploy --yes
vifu deploy --no-setup
vifu deploy --no-build
vifu deploy --no-share
vifu deploy --name my-stable-game-name
  • --dry-run 不构建、不上传、不分享、不改文件。
  • --yes 接受检测到的设置默认值,适合 CI。
  • --no-setup 在项目尚未设置时直接失败。
  • --no-build 直接验证并上传已有的 build.output
  • --name 用于稳定同一所有者的更新目标。
  • --game-id 主要用于恢复或显式覆盖,普通流程不需要。

管理部署

vifu games listvifu games sharevifu games submitvifu games delete 管理已部署游戏。命令细节见 管理部署

带上已有游戏

对于受支持的浏览器项目,可以直接从项目目录开始:

bash
cd path/to/your-game
vifu deploy

如果还没有 Vifu 项目设置,Vifu 能明确检测入口和构建结构时会在确认后创建。检测失败时,错误会说明缺少哪个文件或设置。

发布前检查

vifu deploy 会自动检查项目设置和构建输出。部署前确认项目满足这些条件:

  • main.url 指向构建输出中的 HTML 入口。
  • build.output 包含真实静态文件。
  • AI 通过 vifu.ai.generateText(...)vifu.ai.chat(...) 调用。
  • 保存、资源和平台服务通过 @vifu/sdk 调用。
  • 部署成果物中没有 CDN JavaScript、远程 WASM 或外部 AI/API 直接调用。

更多规则见 部署策略