SuperAPI AI 工具集

openpress-deploy

部署与运维

查看项目

更新于 10-16 08:19

技能介绍

用途

openpress-deploy 是 open-press 的公开部署技能,掌管公开发布关卡。仅在用户要求配置、检查、试运行或发布 open-press 文档时使用。

主要能力

  • 检查 openpress/settings.json 中 "deploy" 字段的部署配置。
  • 核对目标适配器、暂存来源、项目名称与确认设置。
  • 运行部署预检与试运行(dry run)。
  • 确保密钥不进入源文件。
  • 发布前要求明确确认。
  • 部署成功后报告公开 URL,如包含 PDF 则一并报告 PDF URL。

职责边界

  • openpress 负责通用 CLI 用法、非部署校验、本地审阅以及源文件/生成物边界。
  • openpress-create-pages 负责页面产物内容与视觉就绪度。
  • openpress-create-slide 负责幻灯片内容与视觉就绪度。
  • 本技能负责公开目标确认与部署执行。

公开部署规则

未经明确且指明目标项目的确认,绝不发布。

良好的确认形式示例:

This will publish the current open-press build to Cloudflare Pages project <projectName> from <deploy.source>. Do you want me to deploy now?

预检

正式部署前,运行以下命令以证明输出已就绪:

npm run build              # validates + renders dist-react/

同时扫描面向公众的源文件中的未完成标记:

rg "\[TODO:|\[FIX:|\[DRAFT:" "press/*/chapters" press/design.md

PDF 大小限制

Cloudflare Pages 会拒绝任何大于 25 MB 的单个文件。多 press 或图片较多的 PDF 通常会超过此限制。

除非用户明确要求发布 PDF,否则部署时不包含 PDF:

npm run openpress:deploy -- --confirm --no-pdf

--no-pdf 会跳过 PDF 生成,并将其完全排除在部署源之外。

如果用户想先检查 PDF 大小:

npm run openpress:pdf
du -sh .deploy/**/*.pdf 2>/dev/null

如果 PDF 超过 25 MB 且用户仍希望公开托管,建议使用单独的托管服务(Cloudflare R2、S3 等)。OpenPress 目前未提供用于填写外部 PDF URL 的字段,因此不要在 openpress/settings.json 中自行编造该字段;请在交付说明中报告该单独 URL。

部署命令

试运行:

npm run openpress:deploy:dry-run -- --no-pdf

明确确认后发布:

npm run openpress:deploy -- --confirm --no-pdf

仅当用户明确将 PDF 纳入已确认的发布目标时,才移除 --no-pdf。

何时阅读参考文档

在创建或修复 Cloudflare Pages 配置、项目设置、Wrangler 认证预期或 UI 部署按钮行为时,阅读 references/cloudflare-pages.md。

适用场景

  • 准备、配置、检查、暂存或发布 open-press 文档到公开托管(尤其是 Cloudflare Pages)。
  • 需要部署设置、部署预检、试运行或正式发布时。

限制

  • 未经明确确认不得发布。
  • Cloudflare Pages 单文件上限 25 MB,超出时需改用其他托管或排除 PDF。
  • 不负责页面或幻灯片的内容与视觉就绪度,也不负责通用 CLI 用法与非部署校验。
  • 关于收费、价格、平台支持范围等更多信息,资料暂未提供。