AdvancedSecurity-Codeql-Init@1 - 高级安全性初始化 CodeQL v1 任务

初始化 CodeQL 数据库以准备生成。

必须为要扫描的存储库启用 Azure DevOps GitHub Advanced Security

语法

# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    #languages: # 'csharp' | 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby' | 'swift'. Languages to analyze. 
    #querysuite: 'Select a query suite...' # 'Select a query suite...' | 'code-scanning' | 'security-extended' | 'security-experimental' | 'security-and-quality'. CodeQL Query Suite to use for analysis. Default: Select a query suite....
  # Advanced
    #ram: # string. Options to control RAM usage in MB. 
    #threads: # string. Use this many threads to evaluate queries. 
    #codeqlpathstoignore: # string. Set a list of paths to exclude in the CodeQL analysis. 
    #codeqlpathstoinclude: # string. Set a list of additional paths to include in the CodeQL analysis. 
    #sourcesfolder: # string. Sets the folder that contains the sources to be analyzed. 
    #loglevel: '_' # '0' | '1' | '2' | '_'. Set the log level for the CodeQL analysis. Default: _.
    #configfilepath: # string. Use this to enable custom query analysis in codeql (path must be absolute). 
    #codeqltoolsdirectory: # string. Set a custom CodeQL tools directory (path must be absolute).

输入

languages - 要分析的语言
string. 允许的值:csharpcpp、、gojavajavascriptpythonrubyswift

要分析的编程语言。 多种语言可以用逗号分隔。

可以在任务中在此处设置语言,也可以在名为 advancedsecurity.codeql.language的管道变量中指定语言。 如果两者都已设置,则任务中指定的值优先。


querysuite - 用于分析的 CodeQL 查询套件。
string. 允许的值:Select a query suite...code-scanningsecurity-extendedsecurity-experimentalsecurity-and-quality。 默认值:Select a query suite...

用于分析的查询套件,即规则集。 可以在任务中指定此处的值,也可以在名为 的 advancedsecurity.codeql.querysuite管道变量中指定该值。 如果两者都已设置,则任务中指定的值优先。 默认值指示 Select a query suite... 必须在 变量中 advancedsecurity.codeql.querysuite 指定查询套件。


ram - 用于控制 RAM 使用情况的选项(以 MB 为单位)
string.

设置应允许查询计算器使用的 RAM 总量。

可以在任务中在此处指定 ram ,也可以在名为 advancedsecurity.codeql.ram的管道变量中指定它。 如果两者都已设置,则任务中指定的值优先。


threads - 使用如此多的线程来评估查询
string.

可以传递 0 以在计算机上每个核心使用一个线程,也可以传递 -N 将 N 个核心保留为未使用状态(除仍至少使用一个线程外) 。

可以在任务中在此处指定 threads ,也可以在名为 advancedsecurity.codeql.threads的管道变量中指定它。 如果两者都已设置,则任务中指定的值优先。


codeqlpathstoignore - 设置在 CodeQL 分析中排除的路径列表
string.

可以提供多个以逗号分隔的路径。 路径必须相对于 sourcesfolder 运行 CodeQL 的位置,后者默认 Build.SourcesDirectory 为管道环境变量。 例如,若要忽略 目录 $(Build.SourcesDirectory)/donotscan ,请设置 codeqlpathstoignore: donotscan 而不是 codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan


codeqlpathstoinclude - 设置要包含在 CodeQL 分析中的其他路径的列表
string.

可以提供多个以逗号分隔的路径。 路径必须相对于 sourcesfolder 运行 CodeQL 的位置,后者默认 Build.SourcesDirectory 为管道环境变量。 例如,若要包含 目录 $(Build.SourcesDirectory)/app ,请设置 codeqlpathstoinclude: app 而不是 codeqlpathstoinclude: $(Build.SourcesDirectory)/app


sourcesfolder - 设置包含要分析的源的文件夹
string.

如果未提供此值,将使用管道基础结构的默认 sources 文件夹, (变量 Build.SourcesDirectory) 提供。


loglevel - 设置 CodeQL 分析的日志级别
string. 允许的值: 0 (警告) 、 1 (详细) 、 2 (调试) 、 _ (默认 (警告) ) 。 默认值:_

指定日志记录的级别。

可以在任务中在此处指定 loglevel ,也可以在名为 advancedsecurity.codeql.loglevel的管道变量中指定它。 如果两者都已设置,则任务中指定的值优先,除非在任务中指定了 的loglevel默认值_。 如果 _ 指定 了 ,则使用 中的 advancedsecurity.codeql.loglevel 值(如果可用)。


configfilepath - 使用此方法在 codeql 中启用自定义查询分析, (路径必须是绝对) 。
string.

如果未提供 path,则 codeql 分析将继续执行默认查询。


codeqltoolsdirectory - 设置自定义 CodeQL 工具目录 (路径必须是绝对)
string.

如果未提供路径,则将使用 的 $agent_toolsdirectory 默认值。


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

必须为要扫描的存储库启用 Azure DevOps GitHub Advanced Security

重要

仅 Azure Repos Git 存储库支持此任务。

管道必须按以下顺序调用任务。

  1. 初始化 CodeQL
  2. 自动生成 (或自定义生成任务)
  3. 执行 CodeQL 分析

AutoBuild 任务是可选的,可以替换为自定义生成任务。 必须运行 AutoBuild 或自定义生成任务,才能分析项目。

要求

要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 所有支持的代理版本。
任务类别 构建

另请参阅