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
. 允许的值:csharp
、cpp
、、go
、java
javascript
、python
、ruby
、 swift
。
要分析的编程语言。 多种语言可以用逗号分隔。
可以在任务中在此处设置语言,也可以在名为 advancedsecurity.codeql.language
的管道变量中指定语言。 如果两者都已设置,则任务中指定的值优先。
querysuite
- 用于分析的 CodeQL 查询套件。
string
. 允许的值:Select a query suite...
、code-scanning
、security-extended
、security-experimental
、security-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 存储库支持此任务。
管道必须按以下顺序调用任务。
- 初始化 CodeQL
- 自动生成 (或自定义生成任务)
- 执行 CodeQL 分析
AutoBuild 任务是可选的,可以替换为自定义生成任务。 必须运行 AutoBuild 或自定义生成任务,才能分析项目。
要求
要求 | 说明 |
---|---|
管道类型 | YAML、经典版本、经典版本 |
运行平台 | Agent、DeploymentGroup |
需求 | 无 |
功能 | 此任务不满足作业中后续任务的任何要求。 |
命令限制 | 任意 |
可设置变量 | 任意 |
代理版本 | 所有支持的代理版本。 |
任务类别 | 构建 |