You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在本地执行git push后直接查看Gitlab CI/CD流水线运行情况

本地查看私有GitLab流水线运行输出的解决方案

完全可以实现,以下是两种可直接落地的方案:

方案1:使用GitLab官方CLI工具 glab(推荐,配置成本低)

这是最省事的方案,官方工具原生支持私有GitLab实例对接,常用CI操作都可以直接在终端完成:

  • 第一步:安装glab,根据你的本地操作系统选择对应安装方式即可,主流包管理器均已收录该工具。
  • 第二步:完成私有GitLab实例认证
    终端执行glab auth login,按照提示依次输入:
    • 你司部署的GitLab服务域名
    • 认证方式选择Token
    • 登录你司GitLab网页端,进入「个人设置-访问令牌」页面,生成一个带有api、read_repository、read_ci权限的个人访问令牌,粘贴到终端即可完成认证。
      注意生成个人访问令牌时不要额外开放不必要的权限,用完及时更新令牌保障账号安全
  • 第三步:查看流水线输出
    本地执行git push完成后,直接在项目目录下执行glab ci view,就能直接看到当前分支最新一次流水线的全量运行状态、每个Job的执行日志,和网页端展示的内容完全一致。如果要实时追踪某个运行中Job的输出,执行glab ci trace [Job名称/JobID]即可。
    如果想要完全自动化,可以在项目的Git post-push钩子中配置自动执行上述命令,push完成后就会自动拉起日志展示,不需要手动输入命令。

方案2:自定义脚本调用GitLab OpenAPI(适合有定制需求的场景)

如果需要和公司内部其他工具打通,或者有特殊的日志过滤需求,可以自己写脚本实现:

  • 第一步:和上述方案一样,先申请有权限的GitLab个人访问令牌。
  • 第二步:编写对应脚本,核心逻辑如下:
    1. git push完成后,先获取当前分支最新的commit hash值
    2. 调用GitLab API GET /projects/:项目ID/pipelines?sha=刚才拿到的commit hash,获取对应commit绑定的流水线ID
    3. 再调用API GET /projects/:项目ID/jobs?pipeline_id=流水线ID,拿到该流水线的所有Job信息
    4. 最后调用API GET /projects/:项目ID/jobs/:JobID/trace拉取对应Job的日志,打印到终端即可。

两种方案配置一次后永久生效,不需要每次推送都登录网页端操作,除了查看日志外,还支持重启失败Job、取消运行中流水线等常用操作,基本可以覆盖网页端CI/CD模块的所有常用功能。

内容的提问来源于stack exchange,提问作者Rodskin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:30:04