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

GitLab 15.0.1中SAST作业未在流水线显示,如何排查解决?

解决GitLab 15.0.1自托管SAST作业不显示的问题

1. 修正.gitlab-ci.yml配置

自托管GitLab不会自动生成SAST作业,必须在项目CI配置中明确引入SAST模板:

include:
  - template: Security/SAST.gitlab-ci.yml

# 若自定义了流水线阶段,必须包含SAST默认依赖的test阶段
stages:
  - build
  - test  # 缺失此阶段会导致SAST作业被跳过
  - deploy

如果项目使用特定编程语言,也可引入对应语言的SAST子模板(如Security/SAST/bandit.gitlab-ci.yml用于Python),通用模板已覆盖大部分主流开发语言。

2. 验证SAST启用状态

  • 实例级:管理员账号进入Admin Area > Settings > CI/CD > Security and Compliance,确认Static Application Security Testing (SAST)已勾选。
  • 项目级:进入项目Settings > Security and Compliance > Configuration(CE版本)或Settings > CI/CD > Security scanners(EE版本),确保SAST开关已开启。若找不到对应选项,检查GitLab版本是否为支持SAST的CE/EE版本(15.0 CE已包含基础SAST功能)。

3. 排查Runner与镜像拉取问题

你的自托管Runner使用Docker执行器,需确认:

  • Runner所在虚拟机可访问registry.gitlab.com(SAST镜像仓库),离线环境需提前拉取SAST镜像到本地并配置Runner使用本地镜像源。
  • 查看Runner日志(通常在/var/log/gitlab-runner/目录),确认无镜像拉取失败、容器创建权限不足等报错。
  • 若Runner配置了特定标签,需在CI配置中给SAST作业添加对应标签,或修改Runner为无标签运行模式。

4. 检查流水线作业状态

进入项目CI/CD > Pipelines,点击对应流水线ID查看所有作业:

  • 若SAST作业显示为skipped,说明GitLab未检测到可扫描代码(如空项目、无对应语言代码文件),添加测试代码(如Python的.py、Java的.java文件)后重新运行流水线。
  • 若完全无SAST作业,说明CI模板未正确引入或实例级SAST未启用。

5. 确认版本兼容性

GitLab 15.0.1的SAST模块可能存在已知bug,可查看对应版本的官方说明文档,若问题持续,建议升级到15.0.x系列的最新补丁版本。

内容的提问来源于stack exchange,提问作者E. Wex

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:11:15