2.9 KiB

05. Gitea 账号 & tea CLI

前置

  • 已完成 02 (cfg CLI) — 需要 GITEA_ADMIN_TOKEN(shared)
  • 已完成 03 (邮箱) — 创建 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