<!-- title: 都叫部署件，拆开是四个物种 -->

# 都叫部署件，拆开是四个物种

**——工作流自动化赛道横评：四件部署件加两条CI件逐篇拆**

## 概述

这是本系列第5轮定期观察，按轮次规划本期轮到工作流自动化类（部署/CI/监控/多Agent）。监控位的 sentry 和多Agent位的 dsh-agent-teams 前几轮已拆过，本期聚焦还没人碰过的两条闸口：**部署四件**（vercel-deploy、netlify-deploy、cloudflare-deploy、render-deploy）和 **CI 两件**（gh-fix-ci、github-actions-skill）。本期有个特殊做法：六件全部加载本机装配版的 SKILL.md 原文逐篇拆，不转述二手资料。核心发现一句话：**四个都叫“部署”的件，其实是四种完全不同的物种**——脚本、手册、路由器、流程编排；而且四件共享一段一字不差的故障排查文字，暴露了它们出自同一条模板生产线。

## 评测对比表

| 件名 | 形态 | 功能完整度 25% | 设计质量 25% | 实战效果 20% | 上手难度 15% | 综合* |
|------|------|------|------|------|------|------|
| render-deploy | 流程编排型 | ★★★★★ | ★★★★★ | ★★★★ | ★★☆ | **4.6** |
| vercel-deploy | 脚本型 | ★★★ | ★★★★★ | ★★★★ | ★★★★★ | **4.0** |
| cloudflare-deploy | 路由器型 | ★★★★★ | ★★★★ | ★★★ | ★★★ | **4.0** |
| gh-fix-ci | 修理型 | ★★★☆ | ★★★★ | ★★★★ | ★★★★ | **3.9** |
| netlify-deploy | 手册型 | ★★★★ | ★★★★ | ★★★☆ | ★★★ | **3.8** |
| github-actions-skill | 向导型 | ★★★☆ | ★★★☆ | ★★★☆ | ★★★★★ | **3.8** |

\* 综合分为前四维简单平均。**社区活跃度维度本期无法评分**：六件均为本机装配版，SKILL.md 内未标注来源仓库与星数，凡涉及出品方的内容本文一律标注“推断”，不编数字。

## 一件一件拆：四种部署，四种活法

### vercel-deploy：把上线成本压到零的“先斩后奏”派

它的第一句话就与所有同行决裂："Deploy any project to Vercel instantly. **No authentication required.**"（即时部署任何项目，无需认证。）

别的部署件都在教 Agent 怎么登录，它直接绕过了登录。整个 SKILL.md 九十行上下，核心动作只有一个：

```bash
bash scripts/deploy.sh [path]
```

脚本把项目打成 `.tar.gz`（排除 `node_modules`、`.git` 和 `.env*`），自动从 `package.json` 认框架——React 系、Vue 系、Svelte 系、Astro、Hono、Fastify 列了二十多个——然后上传，返回两个 URL：**Preview URL**（网站直接能看）和 **Claim URL**（认领链接，点了才能转进你自己的 Vercel 账号）。

这是本文最值得学的设计：**部署和账号解耦**。传统流程是“先登录→再配置→最后部署”，走完才知道效果；它反过来，“先部署→看到活了→再认领”。试错成本从“配半天环境”降到“一条命令”。对“帮我看看这东西能不能跑起来”这类诉求，这个顺序是碾压性的。

短板也明白写着：它只管“能看”，不管“接管”。没有域名绑定、没有环境变量管理、没有团队协作——这些全留给认领之后的你自己。它是试用期，不是劳动合同。

### netlify-deploy：最老实的小学课本

跟 vercel 那件正好相反，netlify 这件开口第一个前提就是“**Authentication**: Netlify account with active login session”。它不绕任何弯，老老实实按 Netlify CLI 的真实工作流写了一本操作手册：`npx netlify status` 验登录 → 没登录就引导 `npx netlify login` 走浏览器 OAuth（或退而求其次设 `NETLIFY_AUTH_TOKEN`）→ 查站点链接状态 → 有 Git 远端就 `netlify link --git-remote-url` 接线，没有就 `netlify init` 现场建站 → 装依赖 → `netlify deploy` 出预览 → 加 `--prod` 上生产。

它的错误处理是一张对照表：“Not logged in → 跑 login”、“No site linked → link 或 init”、“Build failed → 查 toml 和依赖”。文末还挂着三个分册（`references/cli-commands.md`、`deployment-patterns.md`、`netlify-toml.md`），按需加载——这是官方倡导的渐进式披露标准写法。

它没有惊人巧思，但有一条纪律值得抄：“Use `netlify deploy` (no `--prod`) first to test before production”——**先预览后生产**写进了 Tips。作为教材它合格，作为工具它平庸：每一步你自己在终端也能敲出来，Skill 的增量价值在六件里最薄。

### cloudflare-deploy：名叫部署，其实是整座平台的入口地图

这是四件里反差最大的一个。名字叫 deploy，拆开发现它根本不是部署教程——SKILL.md 开头自我定义："**Consolidated skill** for building on the Cloudflare platform. Use decision trees below to find the right product, then load detailed references."

它的主体是六棵决策树，回答六个问题：

- “我要跑代码”→ 边缘函数去 workers/，全栈应用去 pages/，有状态实时去 durable-objects/，定时任务去 cron-triggers/，一共建了十个分支
- “我要存数据”→ KV、D1、R2、Queues、Vectorize、Hyperdrive……九个分支
- “我要 AI/ML”→ Workers AI、Vectorize、Agents SDK、AI Gateway……
- “我要网络连通”、“我要安全”、“我要 IaC”→ 各自再铺开

决策树后面是一张**五十多个产品**的索引表，每个产品对应 `references/` 下的一个分册目录。真正的部署知识（wrangler 认证、`wrangler pages deploy`）全在分册里，SKILL.md 本体只干一件事：**告诉你该去读哪一册**。

从内容看它疑似 Cloudflare 官方或深度背书出品（未经证实），因为它对一个平台的覆盖完整到不像社区爱好者手笔。设计上是教科书级的路由器范式：主文件永远薄，知识永远在分册里。但放进“部署件”赛道比，它最“绕”——你只是想发个静态站，它先问你六棵树。

### render-deploy：六件里唯一的“企业级流程编排”

最长的 SKILL.md，最重的工程纪律。它值得单独一节讲，因为它的每个细节都在回答同一个问题：**Agent 自作主张怎么办**。

**第一，MCP 优先，CLI 兜底。** 它不走 shell 命令，首选 Render 官方 MCP 服务器（`mcp.render.com`），还内置了 Cursor、Claude Code、Codex 三家客户端的接入引导，配好 API key 才动手；MCP 不可用才退回 `render` CLI。从内容看疑似 Render 官方出品（未经证实），连 CLI 安装都指向官方仓库 render-oss/cli。

**第二，动手前先问两个问题。** 它有个 "Happy Path (New Users)" 节：先问部署来源（Git 仓库还是预制 Docker 镜像），再问“Render 全包还是只上应用、数据库定时任务要不要”。问完才选路。

**第三，双方法选择写成了硬启发式。** 单服务、无数据库、无 worker、环境变量简单——四条全中走 MCP 直接建；任何一条不满足，走 Blueprint 生成 `render.yaml` 基础设施即代码。拿不准时“default to **Blueprint** for safety”——默认选可复现的那条路。

**第四，安全红线写死在规则里。** 生成 `render.yaml` 时"**Always use `plan: free`** unless user specifies otherwise"（不指定就一律免费档，防止替用户烧钱）；密钥一律 `sync: false`，留白让用户去面板里填，Agent 经手不了明文。

**第五，部署完不是终点。** 它强制三查：`list_deploys` 确认状态 live、打健康端点确认 200、`list_logs` 按 error 级别扫启动日志，还给了 2-3 分钟等待期。文末甚至推荐装姐妹件 `render-debug` 做深度诊断——一个 Skill 在给另一个 Skill 引流。

短板是重：要理解 MCP、Blueprint、deeplink、workspace 四层概念，上手门槛六件里最高。

## 两条 CI 件：闸口这边冷清多了

部署侧四件摆开，CI 侧只有两件，而且都只认 GitHub Actions。

### gh-fix-ci：一只防御性拉满的修理工

它的工作流很收敛：`gh auth status` 验身份 → 定位 PR → 拉失败检查 → 抓 Actions 日志 → 摘出失败片段 → 给修复计划 → **用户批准后才动手**。亮点在三处细节：

一是**自带脚本**。`scripts/inspect_pr_checks.py` 把"gh pr checks → 提取 run id → gh run view --log”整条链打包，SKILL.md 里明说脚本"handles **gh field drift** and job-log fallbacks"——gh CLI 输出字段会变，脚本做了防御。这是被真实坑过才会写出的句子。

二是**边界收得很紧**："Do not attempt Buildkite or other providers; keep the workflow lean."（别碰 Buildkite 等其他提供商，保持流程精瘦。）detailsUrl 不是 Actions 就标记 external 只给链接。明确的不做什么，比含糊的什么都做高级。

三是**脚本可独立用于自动化**："Exits non-zero when failures remain so it can be used in automation"——还有失败就退出码非零，能挂进流水线当哨兵。

顺带一个真实瑕疵：它的 SKILL.md 一级标题写的是"Gh Pr Checks Plan Fix"，与件名 gh-fix-ci 对不上——改名改了一半的痕迹。

### github-actions-skill：一个全中文问答机器

与 gh-fix-ci 修理已有流水线不同，这件管“从零造一条”。形态完全不同：**四阶段问答向导**。阶段一逐项收集 VPS 地址、SSH 用户、部署路径、部署方式（命令/rsync/都要），规则写死“每次只问一个问题”；阶段二用字符画表格让用户确认；阶段三生成全套产物——`ssh-keygen` 命令、`ssh-copy-id` 配公钥、GitHub Secrets 清单、`deploy.yml`，且提供 appleboy/ssh-action 和 rsync 两套模板按用户选择二选一；阶段四给分步操作指引。

全中文、零前置知识，新手友好度六件第一。但工程上粗糙处也实在：模板把第三方 Action 版本号硬编码在 `appleboy/ssh-action@v1.0.3`，没有提醒校验；SSH 私钥进 Secrets 的流程虽标准，却没有像 render 那样给出最小权限告诫。它是好的脚手架，不是好的成品。

## 同一段话，出卖了四件部署件

把六份 SKILL.md 摆在一起，有个藏不住的发现。vercel、netlify、cloudflare、render 四件，每份里都有一字不差的一段：

> "If deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the deploy with escalated permissions (use `sandbox_permissions=require_escalated`)."

连"We can rerun the command with escalated permissions—want me to proceed?"这段给用户的示例话术都四件全同。而 CI 侧两件都没有这段。结论几乎不用猜：**四件部署件产自同一条模板生产线**，是同一批次、同一套规范催生的套装；两条 CI 件是另外的来路。这也解释了为什么四件形态差异那么大却共享同一套“沙箱网络逃生口”措辞——骨架同源，血肉各长。

另一个横向观察是**认证光谱**，四件正好铺满一个渐变：vercel 免认证（先部署后认领）→ netlify/cloudflare 走 OAuth 登录或环境变量 token → render 要求 MCP API key 挂到客户端配置里。越是面向“正式项目”，认证越前置、越重。选件先问自己一句话：我是想看一眼，还是要过日子。

## 生态位：为什么这条赛道长成这样

```mermaid
flowchart TD
    ROOT["部署与CI六件"] --> A["脚本型"]
    ROOT --> B["手册型"]
    ROOT --> C["路由器型"]
    ROOT --> D["编排型"]
    ROOT --> E["向导型"]
    ROOT --> F["修理型"]
    A --> A1["vercel-deploy"]
    B --> B1["netlify-deploy"]
    C --> C1["cloudflare-deploy"]
    D --> D1["render-deploy"]
    E --> E1["actions向导"]
    F --> F1["gh-fix-ci"]
```

部署和 CI 在传统 DevOps 里是一条流水线的上下游，到了 Skill 生态却严重失衡：**出结果的一端挤了四个物种，守门的一端只有两个件**。原因不难理解——部署的成果是一个能点开的 URL，演示成本低、传播性强，作者自然扎堆；CI 修复的成果是“流水线变绿了”，没人截图发推。结合前几轮的观察（监控位 sentry 一家独大、多Agent位刚有排兵布阵件），工作流自动化栈目前的状态是：**出口卷、中间空、进口刚开张**。

## render-deploy 决策流程图

```mermaid
flowchart TD
    S["接手部署请求"] --> Q1{"有无Git远端"}
    Q1 -->|无| STOP["停下问用户"]
    Q1 -->|有| Q2{"单服务无依赖"}
    Q2 -->|是| MCP["MCP直接建服务"]
    Q2 -->|否| BP["生成render.yaml"]
    BP --> V["validate校验"]
    V --> DL["生成面板深链"]
    DL --> U["用户点Apply"]
    MCP --> P["部署后三查"]
    U --> P
    P --> P1["状态须live"]
    P --> P2["健康检查200"]
    P --> P3["扫error日志"]
```

这张图值得所有想写“流程型 Skill”的人存下来：**每个可能自作主张的节点，前面都有一道问用户的闸**。

## 推荐排行榜

- **最快出活**：vercel-deploy——零认证一条命令，几十秒拿到能点开的网址
- **最稳生产**：render-deploy——审批闸、免费档默认、密钥留白、部署后三查，纪律全套
- **最耐读（学设计）**：cloudflare-deploy——路由器范式的极限样本，想学渐进式披露就读它
- **最适合新手**：github-actions-skill——全中文问答，跟着点完就有流水线
- **最被低估**：gh-fix-ci——那个退出码非零的检查脚本，脱离 Claude 也能挂进任何自动化

## 安装与使用

六件的通用安装方式：将件目录放入 `~/.claude/skills/`（个人全局）或项目 `.claude/skills/`（项目级），Claude Code 会按 description 自动触发。本文样本即取自本机 `~/.claude/skills/` 下的装配版。

```bash
# vercel-deploy：免登录即时部署
bash ~/.claude/skills/vercel-deploy/scripts/deploy.sh /path/to/project

# netlify-deploy：先验登录，再跟着 SKILL.md 流程走
npx netlify status

# cloudflare-deploy：先验 wrangler 认证，再按决策树选分册
npx wrangler whoami

# render-deploy：接入官方 MCP（SKILL.md 原文给出的命令）
claude mcp add --transport http render https://mcp.render.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"

# gh-fix-ci：检查当前 PR 失败项（可独立运行）
python ~/.claude/skills/gh-fix-ci/scripts/inspect_pr_checks.py --repo . --json

# github-actions-skill：对话触发即可
# 对 Claude 说："帮我配置 GitHub Actions 部署到我的 VPS"
```

## 参考来源

1. 本机装配版 `~/.claude/skills/vercel-deploy/SKILL.md` — 本文拆解底本，"No authentication required"与 Claim URL 设计出处
2. 本机装配版 `~/.claude/skills/netlify-deploy/SKILL.md` — 认证工作流与三个 references 分册出处
3. 本机装配版 `~/.claude/skills/cloudflare-deploy/SKILL.md` — 六棵决策树与五十余产品索引出处
4. 本机装配版 `~/.claude/skills/render-deploy/SKILL.md` — MCP 优先、Blueprint 启发式、部署后三查出处
5. 本机装配版 `~/.claude/skills/gh-fix-ci/SKILL.md` — field drift 防御与 Buildkite 排除声明出处
6. 本机装配版 `~/.claude/skills/github-actions-skill/SKILL.md` — 四阶段问答向导与双模板出处
7. [anthropics/skills](https://github.com/anthropics/skills) — 官方件仓库，渐进式披露规范参照
8. [skills.sh](https://skills.sh) — Skills 热门榜，定期观察渠道
9. [mcpservers.org/agent-skills](https://mcpservers.org/agent-skills) — Agent Skills 目录，后续轮次选题池

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
