名称: gitflow
描述: 一站式自动监控 GitHub 与 GitLab 新推送的 CI/CD 流水线状态。这才是 Auto DevOps 该有的样子 🦞!
GitFlow 是一款 OpenClaw 技能,可自动化代码推送,并为 GitHub 和 GitLab 仓库提供实时 CI/CD 流水线状态监控。它通过减少开发者在不同仓库和流水线看板间的切换,优化了工作流程。
该技能能够自动推送变更并报告流水线结果,从而实现更快的反馈和更顺畅的部署。
GitFlow 可以:
推送后,使用 gh CLI 工具获取工作流状态:
gh run list
列出仓库最近的工作流运行记录。
gh run list --branch $(git branch --show-current) --limit 1
显示当前分支最近的一次工作流运行。
gh run view <run-id>
显示特定工作流运行的详细信息。
gh run watch
监控最近一次运行直至完成,实时推送状态更新。
gh run view <run-id> --log
显示工作流运行的完整日志。
gh run view <run-id> --log-failed
仅显示失败任务的日志。
gh run rerun <run-id> --failed
仅重新运行工作流中失败的任务。
推送后,使用 glab CLI 工具获取流水线状态:
glab ci status
显示当前分支最近流水线的状态。
glab ci view
以交互方式查看当前流水线及其任务详情。
glab ci list
列出仓库近期的流水线记录。
glab ci view <pipeline-id>
根据 ID 查看特定流水线的详情。
glab ci status --live
持续监控流水线状态直至完成。
glab ci trace <job-id>
流式输出特定任务的日志。
Git 本身没有原生的推送后钩子,但你可以创建一个 git 别名,在推送后自动监控流水线状态。
将以下内容添加到 ~/.gitconfig:
[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"
git pushflow
git pushflow origin main