- 新增 01-nvm-node.md: nvm 安装、Node.js LTS 管理、全局包安装 - 原 01-09 顺延为 02-10 - 更新 SKILL.md checklist 表格 - 更新各子文档标题编号和前置引用 - self-check.sh: 加入 nvm/node 检查项,补充邮箱检查 [小糯]
2.9 KiB
2.9 KiB
06. Gitea 账号 & tea CLI
前置
- 已完成 03 (cfg CLI) — 需要
GITEA_ADMIN_TOKEN(shared) - 已完成 04 (邮箱) — 创建 Gitea 用户需要邮箱
检查
which tea
tea login list
cfg get GITEA_TOKEN
✅ 达标:tea 可用,login list 显示 shazhou 登录条目且为 default,GITEA_TOKEN 是你自己的 token(不是 admin token)
安装
1. 安装 tea
# macOS
brew install tea
# Linux (amd64)
curl -sL https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-amd64 -o /usr/local/bin/tea
chmod +x /usr/local/bin/tea
# Linux (arm64)
curl -sL https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-arm64 -o /usr/local/bin/tea
chmod +x /usr/local/bin/tea
2. 创建 Gitea 用户(如果还没有)
用 GITEA_ADMIN_TOKEN(shared scope)调 API 创建用户:
eval "$(cfg env)"
MY_EMAIL=$(cfg get MY_EMAIL)
MY_NAME=你的用户名 # 如 xiaonuo, xingyue
curl -s -X POST \
-H "Authorization: token $GITEA_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
"https://git.shazhou.work/api/v1/admin/users" \
-d "{
\"username\": \"$MY_NAME\",
\"email\": \"$MY_EMAIL\",
\"password\": \"你的Gitea密码\",
\"must_change_password\": false
}"
如果用户已存在会返回 422,忽略即可。
3. 生成个人 Token
用你的 Gitea 用户密码通过 API 创建 token:
curl -s -X POST \
"https://git.shazhou.work/api/v1/users/$MY_NAME/tokens" \
-u "$MY_NAME:你的Gitea密码" \
-H "Content-Type: application/json" \
-d "{\"name\": \"$(hostname)-agent\", \"scopes\": [\"all\"]}"
返回的 sha1 字段就是你的 token。
4. 存入 cfg personal scope
cfg set GITEA_TOKEN 你拿到的sha1值 --secret
⚠️ 存的是你自己的用户 token,不是 GITEA_ADMIN_TOKEN!
5. 登录 tea
tea login add \
--name shazhou \
--url https://git.shazhou.work \
--token $(cfg get GITEA_TOKEN) \
--no-version-check
tea login default shazhou
6. 注册 SSH 公钥到 Gitea
将 01 步生成的公钥注册上去,以后 git clone 可走 SSH:
# 方法一:Gitea Web UI
# 访问 https://git.shazhou.work/user/settings/keys,添加公钥
# 方法二:API
PUBKEY=$(cat ~/.ssh/id_ed25519.pub)
curl -s -X POST \
-H "Authorization: token $(cfg get GITEA_TOKEN)" \
-H "Content-Type: application/json" \
"https://git.shazhou.work/api/v1/user/keys" \
-d "{\"title\": \"$(hostname)\", \"key\": \"$PUBKEY\"}"
验证 SSH 连接:
ssh -T git@git.shazhou.work 2>&1
# 应该返回: Hi YOUR_NAME! You've successfully authenticated...
Gitea 账号对照表
| Gitea 用户 | 家族成员 |
|---|---|
| scottwei | 主人沙洲 |
| xiaoju | 小橘 🍊 |
| xingyue | 星月 🌙 |
| xiaomo | 小墨 🖤 |
| xiaonuo | 小糯 🍡 |
| tuanzi | 团子 🐰 |
| luming | 鹿鸣 🦌 |
| aobing | 敖丙 🐉 |
验证
tea repos
tea issues --repo scottwei/shazhou-workshop