Skip to content

Commit 2a73675

Browse files
docs: 简化 README 文档,删除冗余内容
删除了重复的配置示例和详细命令说明,使文档更加简洁清晰。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 6989faf commit 2a73675

File tree

1 file changed

+0
-269
lines changed

1 file changed

+0
-269
lines changed

README.md

Lines changed: 0 additions & 269 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,6 @@ token:
151151
- api
152152
# 不指定 expires_at,系统自动设为第2天
153153
154-
# 方式 3: 注释掉 expires_at(推荐用于测试)
155-
token:
156-
scope:
157-
- api
158-
- read_user
159-
# expires_at: 2026-01-01 # 注释掉则使用默认值
160154
```
161155

162156
**默认过期时间说明**:
@@ -297,266 +291,3 @@ gitlab-cli/
297291
- [架构设计文档](docs/ARCHITECTURE.md) - 详细的代码架构说明
298292
- [模板使用指南](docs/TEMPLATE.md) - 自定义输出模板
299293
- [详细使用文档](docs/README.md) - 完整功能说明
300-
301-
## 🔧 命令行参数
302-
303-
### user create
304-
305-
创建用户、组、项目和 Token。
306-
307-
```bash
308-
./bin/gitlab-cli user create [flags]
309-
```
310-
311-
**参数**:
312-
313-
- `-f, --config` - 配置文件路径 (默认: test-users.yaml)
314-
- `--host` - GitLab 主机地址
315-
- `--token` - GitLab Personal Access Token
316-
- `-o, --output` - 输出结果到 YAML 文件
317-
- `-t, --template` - 使用模板文件格式化输出
318-
319-
**示例**:
320-
321-
```bash
322-
# 基本用法
323-
./bin/gitlab-cli user create -f config.yaml
324-
325-
# 输出到文件
326-
./bin/gitlab-cli user create -f config.yaml -o output.yaml
327-
328-
# 使用模板输出
329-
./bin/gitlab-cli user create -f config.yaml -o output.yaml -t template.yaml
330-
331-
# 指定 GitLab 地址和 Token
332-
./bin/gitlab-cli user create \
333-
--host https://gitlab.example.com \
334-
--token glpat-xxxxxxxxxxxxxxxxxxxx \
335-
-f config.yaml \
336-
-o output.yaml
337-
```
338-
339-
### user cleanup
340-
341-
清理配置文件中定义的用户及其所有资源。
342-
343-
```bash
344-
./bin/gitlab-cli user cleanup [flags]
345-
```
346-
347-
**参数**:
348-
349-
- `-f, --config` - 配置文件路径
350-
- `--host` - GitLab 主机地址
351-
- `--token` - GitLab Personal Access Token
352-
353-
**示例**:
354-
355-
```bash
356-
./bin/gitlab-cli user cleanup -f config.yaml
357-
```
358-
359-
## 🛠️ 开发
360-
361-
### 构建命令
362-
363-
```bash
364-
# 下载依赖
365-
make deps
366-
367-
# 格式化代码
368-
make fmt
369-
370-
# 运行代码检查
371-
make lint
372-
373-
# 运行测试
374-
make test
375-
376-
# 构建当前平台
377-
make build
378-
379-
# 构建所有平台
380-
make build-all
381-
382-
# 创建发布包
383-
make release
384-
385-
# 清理构建文件
386-
make clean
387-
388-
# 查看帮助
389-
make help
390-
```
391-
392-
### 版本管理
393-
394-
版本号通过构建时注入:
395-
396-
```bash
397-
go build -ldflags "-X main.Version=1.0.0" -o bin/gitlab-cli ./cmd/gitlab-cli
398-
```
399-
400-
查看版本:
401-
402-
```bash
403-
./bin/gitlab-cli --version
404-
```
405-
406-
## 🎯 使用场景
407-
408-
### 场景 1: CI/CD 测试环境准备
409-
410-
为 CI/CD 流程自动创建测试用户、组和项目:
411-
412-
```yaml
413-
users:
414-
- username: ci-test-user
415-
416-
name: CI Test User
417-
password: "SecurePassword123!"
418-
token:
419-
scope:
420-
- api
421-
- read_repository
422-
- write_repository
423-
expires_at: 2025-12-31
424-
groups:
425-
- name: ci-test-group
426-
visibility: private
427-
projects:
428-
- name: test-project
429-
visibility: private
430-
```
431-
432-
### 场景 2: 批量用户管理
433-
434-
为团队成员批量创建 GitLab 账户和项目空间:
435-
436-
```yaml
437-
users:
438-
- username: developer1
439-
440-
token:
441-
scope: [api, read_user]
442-
groups:
443-
- name: dev1-workspace
444-
445-
- username: developer2
446-
447-
token:
448-
scope: [api, read_user]
449-
groups:
450-
- name: dev2-workspace
451-
```
452-
453-
### 场景 3: 生成自定义配置
454-
455-
使用模板为其他系统生成配置文件:
456-
457-
```bash
458-
# 生成符合特定格式的配置
459-
./bin/gitlab-cli user create \
460-
-f users.yaml \
461-
-o k8s-config.yaml \
462-
-t k8s-template.yaml
463-
```
464-
465-
## ⚠️ 注意事项
466-
467-
1. **Token 安全**
468-
- Personal Access Token 只在创建时显示一次
469-
- 请妥善保存输出文件中的 Token 值
470-
- 不要将包含 Token 的输出文件提交到版本控制
471-
472-
2. **权限要求**
473-
- 需要 GitLab 管理员权限的 Token
474-
- Token 必须包含 `api``sudo` 权限范围
475-
476-
3. **清理操作**
477-
- `cleanup` 命令会删除用户及其所有关联资源
478-
- 删除操作不可逆,请谨慎使用
479-
- 建议在生产环境使用前先在测试环境验证
480-
481-
4. **过期时间**
482-
- Token 的过期时间默认为第2天
483-
- 建议根据实际需要设置合适的过期时间
484-
- 已过期的 Token 无法使用,需要重新创建
485-
486-
## 🐛 故障排查
487-
488-
### 认证失败
489-
490-
```
491-
authentication failed: 401 Unauthorized
492-
```
493-
494-
**解决方案**: 检查 Token 是否有效,是否有管理员权限。
495-
496-
### 权限不足
497-
498-
```
499-
current user is not admin
500-
```
501-
502-
**解决方案**: 确保使用的 Token 属于管理员账户。
503-
504-
### Token Scope 无效
505-
506-
```
507-
scopes does not have a valid value
508-
```
509-
510-
**解决方案**: 检查配置文件中的 scope 值是否为 GitLab 支持的权限范围。
511-
512-
### 模板渲染错误
513-
514-
```
515-
parse template: template: output:1: unexpected "}"
516-
```
517-
518-
**解决方案**: 检查模板语法,确保所有的 `{{` 都有对应的 `}}`
519-
520-
## 📝 更新日志
521-
522-
### v0.2.0 (Latest)
523-
524-
**新功能**:
525-
- ✨ 添加 Personal Access Token 自动创建功能
526-
- ✨ 支持自定义 Token 权限范围和过期时间
527-
- ✨ Token 过期时间默认值(第2天)
528-
- ✨ 输出结果到 YAML 文件
529-
- ✨ 自定义模板输出功能
530-
- ✨ 完整的输出数据结构(包括 Token 值、项目 URL 等)
531-
532-
**改进**:
533-
- 📝 完善文档和使用示例
534-
- 🔧 优化错误处理和日志输出
535-
536-
### v0.1.0
537-
538-
**初始版本**:
539-
- ✅ 基于 GitLab Go SDK 的基础实现
540-
- ✅ 用户、组、项目的创建和管理
541-
- ✅ 批量操作支持
542-
- ✅ 清理功能
543-
544-
## 🤝 贡献
545-
546-
欢迎贡献代码!请遵循以下步骤:
547-
548-
1. Fork 本项目
549-
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
550-
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
551-
4. 推送到分支 (`git push origin feature/AmazingFeature`)
552-
5. 创建 Pull Request
553-
554-
## 📄 许可证
555-
556-
MIT License
557-
558-
## 🙏 致谢
559-
560-
- [GitLab Go SDK](https://gitlab.com/gitlab-org/api/client-go) - 官方 GitLab API 客户端
561-
- [Cobra](https://github.com/spf13/cobra) - CLI 框架
562-
- [YAML v3](https://github.com/go-yaml/yaml) - YAML 解析库

0 commit comments

Comments
 (0)