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

Azure DevOps中GitHub Advanced Security单项目扫描配置问题

解决Azure DevOps单仓中GitHub Advanced Security仅扫描指定文件夹的问题

问题分析

你的配置错误在于错误限制了sourcesfolder的范围,并误用了codeqlpathstoinclude的路径逻辑:

  1. 当你将sourcesfolder设为$(System.DefaultWorkingDirectory)/apps/backend/green-app时,CodeQL的扫描根目录被限定在后端green-app文件夹内,此时codeqlpathstoinclude的../frontend/green-app虽然路径上指向了前端green-app,但CodeQL会优先基于当前扫描根目录解析路径,且存在跨目录扫描的限制,导致无法正确识别前端的JS/TS文件。
  2. 使用通配符apps/*/green-app/**/*时,由于sourcesfolder已设为后端green-app,该通配符会被解析为apps/backend/green-app/apps/*/green-app/**/*,显然不存在对应路径,因此触发“未找到源文件”错误。

正确配置方案

保持sourcesfolder默认(即仓库根目录$(Build.SourcesDirectory)),直接通过codeqlpathstoinclude指定需要扫描的两个green-app文件夹,路径相对于仓库根目录:

- task: AdvancedSecurity-Codeql-Init@1
  condition: and(succeededOrFailed(), ${{parameters.runGithubAdvancedSecurity}})
  displayName: 'Github Advanced Security: Initialize 🛡'
  inputs:
    languages: 'csharp,javascript'
    codeqlpathstoinclude: 'apps/frontend/green-app,apps/backend/green-app'

配置说明

  • 不设置sourcesfolder:默认使用仓库根目录作为扫描起点,确保能覆盖所有需要的子目录。
  • codeqlpathstoinclude用逗号分隔路径:明确指定前端和后端的green-app文件夹,CodeQL会仅扫描这两个目录下对应语言(C#和JavaScript)的文件。
  • 若偏好通配符写法,可替换为:codeqlpathstoinclude: 'apps/*/green-app/**',该通配符会匹配apps下所有子目录中的green-app文件夹及其所有子文件/目录。

验证效果

配置完成后,CodeQL将仅扫描apps/frontend/green-app(JS/TS文件)和apps/backend/green-app(C#文件),不会触及red-app或其他无关目录,解决之前的报错问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:30:08