gitlink-cli/skills/gitlink-ci/examples/ci-devops-check.md

145 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 示例CI DevOps 状态检查与构建诊断(真实数据)
> 本示例基于真实仓库于 2026-06-12 在 Claude Code 中实际执行。
> 展示 DevOps 状态检查 → 发现未开启 → 给出激活方案的完整流程。
---
## 场景:发现 CI 不可用
用户想查看 `chroe/gitlink-cli` 的构建状态。
### Step 1: 检查 DevOps 状态
```bash
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 命令(预期失败)
```bash
gitlink-cli ci +builds --owner chroe --repo gitlink-cli
```
真实输出:
```
错误: 获取构建列表失败: [-1] 接口数据异常
```
### Step 3: 检查是否有其他仓库开启了 DevOps
```bash
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 分析
```markdown
# 🔧 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
### 方法 1Web 页面(推荐)
1. 打开 https://gitlink.org.cn/chroe/gitlink-cli
2. 进入 设置 → DevOps
3. 点击"开启 DevOps"
### 方法 2CLI 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
```