cicd Cheatsheet

CI/CD 常用命令速查表

GitHub Actions、GitLab CI 和 Jenkins 三大 CI/CD 流水线一页速查:gh run/rerun/cancel 调试、gitlab-runner list/verify 与 CI Lint、jenkins-cli 构建日志、Runner 在线状态与缓存磁盘排查,覆盖 job 卡顿和构建失败主路径。

把 GitHub Actions、GitLab CI 和 Jenkins 现场最常用的流水线调试、Runner 状态、缓存和日志命令整理成一页,job 失败或卡住时按组往下查。

cicdgithub-actionsgitlab-cijenkinsrunner

GitHub Actions

  • gh run list --limit 10
    列出最近 10 次运行,快速找到失败流水线
  • gh run view <run-id> --log-failed
    查看指定运行的失败步骤日志
  • gh run rerun <run-id> --failed
    只重跑失败 job,不重跑成功的
  • gh run cancel <run-id>
    取消正在运行或卡住的流水线
  • gh api repos/:owner/:repo/actions/runners
    查 Self-hosted Runner 在线状态和标签

GitLab CI

  • gitlab-runner list
    列出本机注册的 Runner
  • gitlab-runner verify
    校验 Runner 与 GitLab 连接是否正常
  • gitlab-runner run
    前台启动 Runner 拉取任务,调试常用
  • gitlab-ci-lint < .gitlab-ci.yml
    校验 CI 配置语法(需安装或用 CI Lint API)
  • curl --header "PRIVATE-TOKEN: <token>" "https://gitlab/api/v4/projects/:id/pipelines"
    查询流水线状态

Jenkins

  • jenkins-cli build <job> -f -v
    触发并跟踪构建输出,CLI 调试常用
  • jenkins-cli console <job> <build>
    拉取指定构建的完整控制台日志
  • systemctl status jenkins
    看 Jenkins 服务状态,排查卡死或 OOM
  • ls -lah /var/lib/jenkins/jobs/<job>/builds/
    查看构建历史占用磁盘
  • jenkins-cli list-jobs
    列出所有 job 名称,脚本批量操作前先确认

Runner 与缓存排查

  • docker ps --filter "name=runner"
    看容器化 Runner 是否在运行
  • df -h /var/lib/docker
    CI 磁盘满常导致 Runner 拉镜像或写日志失败
  • act -j <job> -W .github/workflows/ci.yml
    本地用 act 复现 GitHub Actions
  • gitlab-runner exec docker <job>
    本地复现 GitLab CI job(旧版支持)
  • du -sh ~/.cache/pnpm /root/.cache
    排查缓存目录是否撑爆磁盘

容易踩的坑

  • job 一直 pending 先查 Runner 在线状态和标签匹配,再看并发额度,而不是反复改 YAML。
  • 缓存命中率低时检查 key 是否用了 lockfile hash,路径是否覆盖真实依赖目录。
  • CI 日志可能长期留存,排查时别用 echo 打印 secrets 或 token。