ClawSkills logoClawSkills

GitFlow

在一个地方自动监控 GitHub 和 GitLab 上新推送的 CI/CD 流水线状态。Auto DevOps this is the way 🦞!

介绍

# GitFlow — OpenClaw Skill

## 概述 **GitFlow** 是一个 OpenClaw 技能,它可以自动化代码推送,并为 GitHub 和 GitLab 仓库提供实时的 CI/CD 流水线状态监控。它通过减少仓库与流水线仪表板之间的上下文切换,简化了开发者的工作流程。

该技能可以自动推送更改并报告流水线结果,从而实现更快的反馈和更顺畅的部署。

## 功能 GitFlow 可以:

- 自动推送本地提交 - 触发远程 CI/CD 流水线 - 获取流水线状态和结果 - 报告构建成功或失败 - 显示流水线 URL 和日志 - 监控多个仓库

## 典型工作流程 1. 开发者在本地提交更改。 2. GitFlow 自动或在命令下推送更改。 3. 远程运行 CI/CD 流水线。 4. 技能报告流水线状态。 5. 开发者立即收到构建/部署反馈。

## GitHub CLI 命令

使用 `gh` CLI 工具在推送后获取工作流状态:

### 检查工作流运行状态 ```bash gh run list ``` 列出仓库最近的工作流运行记录。

### 查看当前分支的最新运行 ```bash gh run list --branch $(git branch --show-current) --limit 1 ``` 显示当前分支最近的一次工作流运行。

### 查看运行详情 ```bash gh run view <run-id> ``` 显示特定工作流运行的详细信息。

### 实时查看运行 ```bash gh run watch ``` 监视最近的运行直到完成,并流式传输状态更新。

### 查看运行日志 ```bash gh run view <run-id> --log ``` 显示工作流运行的完整日志。

### 查看失败任务的日志 ```bash gh run view <run-id> --log-failed ``` 仅显示失败任务的日志。

### 重新运行失败的任务 ```bash gh run rerun <run-id> --failed ``` 仅重新运行工作流运行中的失败任务。

---

## GitLab CLI 命令

使用 `glab` CLI 工具在推送后获取流水线状态:

### 检查流水线状态 ```bash glab ci status ``` 显示当前分支上最近一次流水线的状态。

### 查看流水线详情 ```bash glab ci view ``` 打开当前流水线的交互式视图,其中包含任务详情。

### 列出最近的流水线 ```bash glab ci list ``` 列出仓库最近的流水线。

### 查看特定流水线 ```bash glab ci view <pipeline-id> ``` 通过 ID 查看特定流水线的详情。

### 实时查看流水线 ```bash glab ci status --live ``` 持续监控流水线状态直到完成。

### 获取流水线任务日志 ```bash glab ci trace <job-id> ``` 流式传输特定任务的日志。

---

## 推送后 Hook 示例

Git 没有原生的推送后 hook,但你可以创建一个 git 别名,以便在推送后自动监控流水线状态。

将以下内容添加到你的 `~/.gitconfig` 中:

```ini [alias] pushflow = "!f() { \ git push \"${1:-origin}\" \"${2:-$(git branch --show-current)}\"; \ url=$(git remote get-url \"${1:-origin}\"); \ if echo \"$url\" | grep -q 'github.com'; then \ sleep 3 && gh run watch; \ elif echo \"$url\" | grep -q 'gitlab'; then \ sleep 3 && glab ci status --live; \ fi; \ }; f" ```

### 使用方法

```bash git pushflow git pushflow origin main ```

---

更多产品