跳转到内容
类型标准
阶段生产环境
难度中等
工作启动开发者
用于开发团队
用于企业 IT
用于代理机构
服务快照
服务容器
服务终端
服务文件
为何选 Hoody快照时间旅行
为何选 Hoody容器经济学
类型标准
阶段生产环境
难度中等
工作启动开发者
用于开发团队
用于企业 IT
用于代理机构
服务快照
服务容器
服务终端
服务文件
为何选 Hoody快照时间旅行
为何选 Hoody容器经济学
类型标准
阶段生产环境
难度中等
工作启动开发者
用于开发团队
用于企业 IT
用于代理机构
服务快照
服务容器
服务终端
服务文件
为何选 Hoody快照时间旅行
为何选 Hoody容器经济学
类型标准
阶段生产环境
难度中等
工作启动开发者
用于开发团队
用于企业 IT
用于代理机构
服务快照
服务容器
服务终端
服务文件
为何选 Hoody快照时间旅行
为何选 Hoody容器经济学
快照 · 容器副本

一条链接搞定开发者入职

把开发者基线快照一次。从此以后,每个新员工都拿到一条 URL。他们在任何手头的笔记本上点开它,就进入了一个克隆自基线的全新容器——代码库、依赖、环境变量、种子数据库、浏览器中的 VSCode。五分钟内开始写代码。不是配置环境。

阅读快照文档

一个 URL 如何变成一台可工作的笔记本

Hoody 快照捕获整个容器——磁盘上的文件、用户账户、systemd unit 文件、种子数据库。容器复制把那个快照克隆到每位开发者一个新鲜容器中。邮件里的链接就是通往那个新鲜容器的路由。

POST /api/v1/containers/[baseline_id]/copy4 步 · 一次 API 调用
01

为基线快照一次

POST .../snapshots

对你的参考容器拍一个命名快照——别名 dev-baseline。基线变更时再跑一次。

02

为每位新员工复制一次

POST .../copy [ source_snapshot ]

一次 API 调用就把快照克隆到新开发者项目下的一个新鲜容器。

03

他们的 URL 就是容器

alex-laptop.containers.hoody.com

容器开箱就带一个公共 URL。粘到 Slack 里。他们点击。他们就进去了。

04

终端、文件、浏览器

ttyd · webview · ssh

hoody_kit 自动点亮终端、文件浏览器和浏览器内 VSCode 端点。笔记本上无需安装任何东西。

onboard-alex.sh
# 1. Snapshot the baseline (do this once, refresh when you upgrade Node)
curl -X POST "$API/api/v1/containers/$BASE/snapshots" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{ "alias": "dev-baseline" }'

# 2. Copy the snapshot into a fresh container for the new hire
curl -X POST "$API/api/v1/containers/$BASE/copy" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "target_project_id": "$ACME",
    "name": "alex-laptop",
    "source_snapshot": "dev-baseline",
    "copy_firewall_rules": true,
    "copy_network_rules": true
  }'

# 3. The response carries the container URL. Email it. That's onboarding.
# => https://alex-laptop.containers.hoody.com

两次 POST 加一个 URL。基线快照是契约;容器复制是构造器;最终的子域名就是落到欢迎邮件里的内容。无需配置堡垒机、无需克隆 dotfiles 仓库、无需谈判 Docker Desktop 许可证。

从一面墙的步骤变成一句话

以前每个仓库都附带的 README 也带着它的失败模式。一半的行是为新员工碰巧带的那台笔记本做的变通。URL 之所以更短,是因为笔记本不再出现在画面里——环境才是。

README.md · setup47 步
  • 01安装 Xcode CLI 工具
  • 02安装 Homebrew
  • 03brew install node@20 pnpm postgres@15
  • 04把 PATH 行加到 .zshrc
  • 05createdb acme_dev
  • 06克隆 seed-data 仓库
  • 07运行 loader(需要 25 分钟)
  • 08去 #devops 问 staging .env
  • ...另外 39 行你都会做错
首次提交平均时间两天
变成
欢迎邮件 · v21 行

TO: alex@acme.com · SUBJECT: WELCOME

欢迎加入团队。准备写代码时打开这个:

https://alex-laptop.containers.hoody.com

— infra@acme

首次提交时间五分钟
第一天 · ALEX 的周一

以前 47 步的 README 现在是一行:打开这个 URL。

08:59 — 笔记本打开,链接已复制09:04 — 推送了首次提交
首次提交,按钟点五分钟 · 零安装
0108:59URL 落到收件箱无需笔记本配置
0209:00打开 URL — 已经在里面容器即工作区
0309:04推送了首次提交在写代码,而不是配置
文件代码库已克隆,分支在 main
依赖Node、pnpm、Postgres、Redis 已预装
数据种子数据库已加载,staging .env 已注入

这取代了什么

下面每一项都试图把一个可工作的环境送到新开发者的笔记本上。它们都要么有配置成本、要么有许可证成本、要么有 DIY 黏合代码成本。一个快照 URL 不需要其中任何一个——环境已经在跑。

  • GitHub Codespaces按席位计费,要维护 devcontainer.json
  • Gitpod按工作区计价,要调试 .gitpod.yml
  • Daytona要自托管控制平面
  • Coder要照看模板和 provisioner 基础设施
  • Devcontainer 配置每台笔记本都要 Docker Desktop 许可证 + VSCode 折腾
  • 本地开发两天的 brew、PATH、在 #devops 求 .env
  • 入职文档47 步,只要有人更新基线就开始漂移

停止发 README 配置步骤。发一条 URL。

阅读容器复制指南

阅读其他内容