forked from chroe/gitlink-cli
3.3 KiB
3.3 KiB
示例:CI DevOps 状态检查与构建诊断(真实数据)
本示例基于真实仓库于 2026-06-12 在 Claude Code 中实际执行。 展示 DevOps 状态检查 → 发现未开启 → 给出激活方案的完整流程。
场景:发现 CI 不可用
用户想查看 chroe/gitlink-cli 的构建状态。
Step 1: 检查 DevOps 状态
gitlink-cli repo +info --owner chroe --repo gitlink-cli --format json | python3 -c "
import sys,json
d = json.load(sys.stdin)['data']
print(f'DevOps: {d[\"open_devops\"]}')
print(f'项目ID: {d[\"project_id\"]}')
"
真实输出:
DevOps: False
项目ID: 1547045
Step 2: 尝试 CI 命令(预期失败)
gitlink-cli ci +builds --owner chroe --repo gitlink-cli
真实输出:
错误: 获取构建列表失败: [-1] 接口数据异常
Step 3: 检查是否有其他仓库开启了 DevOps
gitlink-cli repo +list --category all --format json | python3 -c "
import sys,json
for p in json.load(sys.stdin)['data']['projects']:
if p.get('open_devops'):
print(f\" ✅ {p['identifier']} (devops enabled)\")
"
真实输出(在 yetja 用户下):
(无输出 — 没有任何仓库开启 DevOps)
甚至 Gitlink 组织的热门仓库也是关闭的:
Gitlink/build → devops: True ← 仅有此仓库开启
Gitlink/gitlink-cli → devops: False
Gitlink/forgeplus → devops: False
AI 分析
# 🔧 CI DevOps 状态检查报告
> 检查时间:2026-06-12
> 检查范围:yetja 用户下的仓库 + Gitlink 组织热门仓库
## 总览
| 指标 | 数值 |
|------|------|
| 检查仓库数 | 20 |
| DevOps 已开启 | 1 (5%) |
| DevOps 未开启 | 19 (95%) |
## DevOps 已开启的仓库
| 仓库 | 说明 |
|------|------|
| Gitlink/build | GitLink 官方 CI/CD 项目 |
## 关于 chroe/gitlink-cli
- **DevOps 状态**:未开启(`open_devops: false`)
- **CI 命令**:全部不可用,返回 `[-1] 接口数据异常`
- **项目类型**:Fork 自 `Gitlink/gitlink-cli`
- **项目 ID**:1547045
## 如何开启 DevOps
### 方法 1:Web 页面(推荐)
1. 打开 https://gitlink.org.cn/chroe/gitlink-cli
2. 进入 设置 → DevOps
3. 点击"开启 DevOps"
### 方法 2:CLI Raw API
```bash
gitlink-cli api POST /chroe/gitlink-cli/activate
⚠️
api POST存在已知 URL 拼接 bug,可能返回 404。建议使用 Web 页面。
开启后的流水线配置
本项目已有 .devops/构建部署Showcase.yml 配置文件:
- 触发条件:push 到 master 分支
- 构建环境:Docker 容器
- 部署目标:118.31.4.168:9090
- 容器名:gitlink-cli-showcase
开启 DevOps 后,每次 push 将自动触发构建和部署。
---
## 补充示例:开启 DevOps 后的工作流(预期)
如果 DevOps 已开启,典型的构建诊断流程如下:
```bash
# 1. 获取近期构建
gitlink-cli ci +builds --owner chroe --repo gitlink-cli --format json
# 2. 找到失败构建,查看日志
gitlink-cli ci +logs --build 42 --stage 1 --step 1
# 3. AI 分析日志中的错误
# (日志内容示例)
# [ERROR] cannot find package "github.com/example/lib"
# 4. AI 诊断:依赖缺失 → 建议 go get + go mod tidy
# 5. 修复后重启构建
gitlink-cli ci +restart --build 42
# 6. 验证修复
gitlink-cli ci +logs --build 42 --stage 1 --step 1