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

GitLab中SAST测试任务无法执行的问题求助

问题:GitLab流水线SAST任务无法分配默认Runner导致卡住

我在GitLab流水线中配置SAST测试,已在gitlab-ci.yml中添加以下配置:

image: my-image-localtion

variables:  
   MAVEN_CLI_OPTS: "--batch-mode"  
   MAVEN_OPTS: "-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true"

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

stages:  
  - test  
  - build  
  - deploy


(more stuff..)

GitLab服务器已安装SAST插件,按文档说明上述配置即可执行SAST扫描,但流水线执行时任务先显示“pending”,随后提示:

This job is stuck because the project doesn't have any runners online assigned to it.

我认为该任务应自动分配GitLab默认Runner,但实际未生效。同服务器的另一团队使用相同配置即可正常执行SAST测试,无需显式指定Runner,求排查建议。

排查建议
  • 检查项目共享Runner开关:进入项目设置→CI/CD→Runners,确认“Shared runners”是否处于开启状态,默认Runner通常属于共享Runner池,若关闭则无法自动分配。
  • 验证Runner标签匹配:SAST模板任务可能带有特定标签(如saas-linux-small-amd64或自定义标签),检查实例中在线的默认Runner是否包含这些标签,同时确认项目允许使用带标签的Runner。
  • 确认Runner在线状态:在GitLab后台管理区→Runners,查看默认Runner是否处于“在线”状态,是否被暂停或设置了项目运行数量限制。
  • 检查项目CI/CD限制:确认项目未被禁用CI/CD功能,且未在CI/CD设置中限制Runner的使用范围。
  • 对比团队配置差异:导出另一团队的gitlab-ci.yml文件和项目CI/CD设置,与自身项目逐一对比,重点关注模板版本、变量设置、Runner权限等细节。
  • 核对SAST模板版本:确认引用的Security/SAST.gitlab-ci.yml模板版本与另一团队一致,不同版本的模板可能对Runner标签有不同要求。
  • 检查群组权限:若项目归属不同群组,确认群组是否启用了共享Runner,部分群组会限制下级项目使用共享Runner的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:52:12