rewrite 05-gitea-tea: create user with admin token, generate personal token, store in cfg -- 小糯
This commit is contained in:
parent
614a5105b7
commit
89b0feb63a
@ -2,20 +2,22 @@
|
|||||||
|
|
||||||
## 前置
|
## 前置
|
||||||
|
|
||||||
- 已完成 02 (cfg CLI) — 需要 `cfg get GITEA_TOKEN`
|
- 已完成 02 (cfg CLI) — 需要 `GITEA_ADMIN_TOKEN`(shared)
|
||||||
|
- 已完成 03 (邮箱) — 创建 Gitea 用户需要邮箱
|
||||||
|
|
||||||
## 检查
|
## 检查
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
which tea
|
which tea
|
||||||
tea login list
|
tea login list
|
||||||
|
cfg get GITEA_TOKEN
|
||||||
```
|
```
|
||||||
|
|
||||||
✅ 达标:`tea` 可用,login list 显示 `shazhou` 登录条目且为 default
|
✅ 达标:`tea` 可用,login list 显示 `shazhou` 登录条目且为 default,`GITEA_TOKEN` 是你自己的 token(不是 admin token)
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
### 安装 tea
|
### 1. 安装 tea
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# macOS
|
# macOS
|
||||||
@ -30,24 +32,64 @@ curl -sL https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-arm64 -o /usr/local/bin/
|
|||||||
chmod +x /usr/local/bin/tea
|
chmod +x /usr/local/bin/tea
|
||||||
```
|
```
|
||||||
|
|
||||||
### 登录 Gitea
|
### 2. 创建 Gitea 用户(如果还没有)
|
||||||
|
|
||||||
GITEA_TOKEN 在 02 步 `cfg sync` 后就有了(shared scope),直接用:
|
用 `GITEA_ADMIN_TOKEN`(shared scope)调 API 创建用户:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cfg set GITEA_TOKEN 你拿到的sha1值 --secret
|
||||||
|
```
|
||||||
|
|
||||||
|
⚠️ 存的是你自己的用户 token,不是 GITEA_ADMIN_TOKEN!
|
||||||
|
|
||||||
|
### 5. 登录 tea
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
tea login add \
|
tea login add \
|
||||||
--name shazhou \
|
--name shazhou \
|
||||||
--url https://git.shazhou.work \
|
--url https://git.shazhou.work \
|
||||||
--token $(cfg get GITEA_TOKEN) \
|
--token $(cfg get GITEA_TOKEN) \
|
||||||
--user YOUR_USERNAME \
|
|
||||||
--no-version-check
|
--no-version-check
|
||||||
|
|
||||||
tea login default shazhou
|
tea login default shazhou
|
||||||
```
|
```
|
||||||
|
|
||||||
YOUR_USERNAME 替换为你的 Gitea 用户名(见下方对照表)。
|
### 6. 注册 SSH 公钥到 Gitea
|
||||||
|
|
||||||
### 注册 SSH 公钥到 Gitea
|
|
||||||
|
|
||||||
将 01 步生成的公钥注册上去,以后 git clone 可走 SSH:
|
将 01 步生成的公钥注册上去,以后 git clone 可走 SSH:
|
||||||
|
|
||||||
@ -57,9 +99,8 @@ YOUR_USERNAME 替换为你的 Gitea 用户名(见下方对照表)。
|
|||||||
|
|
||||||
# 方法二:API
|
# 方法二:API
|
||||||
PUBKEY=$(cat ~/.ssh/id_ed25519.pub)
|
PUBKEY=$(cat ~/.ssh/id_ed25519.pub)
|
||||||
TOKEN=$(cfg get GITEA_TOKEN)
|
|
||||||
curl -s -X POST \
|
curl -s -X POST \
|
||||||
-H "Authorization: token $TOKEN" \
|
-H "Authorization: token $(cfg get GITEA_TOKEN)" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
"https://git.shazhou.work/api/v1/user/keys" \
|
"https://git.shazhou.work/api/v1/user/keys" \
|
||||||
-d "{\"title\": \"$(hostname)\", \"key\": \"$PUBKEY\"}"
|
-d "{\"title\": \"$(hostname)\", \"key\": \"$PUBKEY\"}"
|
||||||
@ -69,7 +110,7 @@ curl -s -X POST \
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
ssh -T git@git.shazhou.work 2>&1
|
ssh -T git@git.shazhou.work 2>&1
|
||||||
# 应该返回: Hi AGENT_NAME! You've successfully authenticated...
|
# 应该返回: Hi YOUR_NAME! You've successfully authenticated...
|
||||||
```
|
```
|
||||||
|
|
||||||
### Gitea 账号对照表
|
### Gitea 账号对照表
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user