跳转到内容
use-cases / onboard-developer-one-link / hero
快照 · 容器副本

一条链接搞定开发者入职

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

阅读快照文档
use-cases / onboard-developer-one-link / mechanism

一个 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 许可证。

use-cases / onboard-developer-one-link / contrast

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

以前每个仓库都附带的 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

首次提交时间五分钟
use-cases / onboard-developer-one-link / dayone
第一天 · ALEX 的周一

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

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

这取代了什么

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

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

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

阅读容器复制指南
use-cases / onboard-developer-one-link / related

阅读其他内容