关于 deployments
Deployments 是用于管理 monorepo 中 telecine、elements 和 skills 部署流程的技能。它记录发布路径、脚本、基础设施以及故障排查流程。
主要功能
- 01说明 telecine Cloud Run 部署
- 02介绍 elements npm 发布流程
- 03发布 skills 文档
- 04列出部署与 CI 辅助脚本
- 05涵盖基础设施与故障排查
适用场景
- 01通过 CI 部署 telecine 服务
- 02准备或发布 elements 版本
- 03发布 skills 文档
- 04调查部署故障或生产错误
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ editframe/ skills --skill deployments安装后在 Claude Code 中输入/deployments确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/elements.mdskills.mdtelecine.mdtroubleshooting.md详细介绍
部署
此单体仓库有三种部署路径:
- telecine -- 通过 Pulumi 部署到 GCP Cloud Run 的服务;部署须在 PR 合并到
main后,通过 CI(集成测试、playwright、类型检查) - elements -- 推送 git 标签以发布 npm 包
- skills -- 通过
scripts/push-skills将公开文档发布到skills远程仓库
脚本
telecine 和 elements 是同级仓库,克隆在单体仓库旁的 ~/Editframe/worktrees/<branch>/ 下。在同级仓库目录中使用标准的 git push origin 推送。没有子树推送脚本。
| 脚本 | 用途 |
|---|---|
scripts/push-skills | 生成并推送 skills 到远程仓库 |
scripts/wait-for-telecine-action | 轮询 telecine 部署 CI(间隔 30 秒) |
scripts/wait-for-elements-action | 轮询 elements 发布 CI(间隔 30 秒) |
scripts/wait-for-github-action <repo> | 适用于任意仓库的通用 CI 轮询器 |
scripts/gh-logs <repo> [run-id] | 获取 CI 运行中失败任务的日志 |
scripts/deploy-info telecine | 服务、资源、路由、密钥 |
scripts/deploy-info elements | 包、发布流水线 |
快速参考
| 操作 | 命令 |
|---|---|
| 部署 telecine | 推送分支 → 创建 PR → CI 必须通过 → 合并到 main → scripts/wait-for-telecine-action |
| 推送 telecine 分支 | git push origin <branch>(在 worktrees/<branch>/telecine/ 中执行) |
| 手动部署指定服务 | telecine/scripts/build-and-push web scheduler-go |
| 手动部署所有服务 | telecine/scripts/build-and-push-all |
| 直接运行 Pulumi | cd telecine/deploy && pulumi up |
| 准备 elements 发布 | elements/scripts/prepare-release <version>(在同级 elements 仓库中执行) |
| 将 elements 升级到 beta 版 | elements/scripts/prerelease |
| 手动发布 elements | elements/scripts/publish |
| 发布 skills 文档 | scripts/push-skills |
| 为 skills 发布创建标签 | git push skills $(git rev-parse skills/main):refs/tags/v<version> |
| 检查 CI 状态 | scripts/gh-logs editframe/telecine |
| 轮询 CI 直到完成 | scripts/wait-for-telecine-action |
Telecine(GCP Cloud Run)
Telecine 运行在 GCP Cloud Run 上,由 telecine/deploy/ 中的 Pulumi(TypeScript)管理。Docker 镜像使用 git SHA 作为标签,并推送到 GCP Artifact Registry。推送到 main 会触发所有服务并行构建 Docker 镜像,随后进行 Pulumi 部署。
配套基础设施包括 Cloud SQL Postgres、运行在 Compute Engine 上的 Valkey(Redis)、GCS 存储桶、带有 URL 映射路由的 HTTPS 负载均衡器,以及 Cloudflare DNS。
Skills 源文件嵌入在 telecine 子树的 telecine/skills/skills/ 中,供 Web Docker 构建使用(Tailwind 类扫描 + 运行时文档服务)。
运行 scripts/deploy-info telecine 可查看当前服务列表、资源分配、负载均衡器路由和密钥。
部署架构和流程请参阅 references/telecine.md。
Elements(npm)
Elements 通过 Trusted Publishing(OIDC)向 npm 发布 @editframe 包。推送任意 git 标签都会触发发布工作流。包含“beta”的标签会使用 beta npm dist-tag 发布;其他标签则使用 latest。
运行 scripts/deploy-info elements 可查看当前包列表和发布流水线步骤。
发布工作流和版本管理请参阅 references/elements.md。
Skills(公开文档)
Skills 是面向公众的文档,由 skills/skills/ 中的源文件生成,并发布到 editframe/skills GitHub 仓库。生成过程会移除仅供人类使用的元数据(nav、track、sections、api),只保留 LLM 必需的 frontmatter。
scripts/push-skills
# Tag with the same version as elements
git fetch skills main
git push skills $(git rev-parse skills/main):refs/tags/v<version>
没有 CI——推送即为部署。Skills 标签使用与 elements 发布相同的版本号。
构建流程和源文件约定请参阅 references/skills.md。
故障排查与运维
调查生产环境错误时,请先使用 references/troubleshooting.md 中的错误分诊工作流:先查询 Error Reporting API,查看分组错误;然后深入检查 Cloud Run 日志;最后与各个修订版本进行关联,以确定问题是否由某次部署引入。
references/troubleshooting.md 中还介绍了回滚流程、CI 故障调试、资源扩缩和密钥管理。
何时使用此技能
在以下情况下使用此技能:
- 调查生产环境错误或服务健康问题
- 部署服务或软件包
- 调查部署失败
- 回滚有问题的版本
- 调整服务资源限制(CPU、内存、实例数量)
- 添加或轮换密钥
- 了解服务的路由方式(负载均衡器、DNS)
- 准备或发布 elements 版本