AdvancedSecurity-Codeql-Init@1 - 高级安全初始化 CodeQL v1 任务
初始化 CodeQL 数据库,以准备生成。
必须为要扫描的存储库启用 Azure DevOps 的 GitHub 高级安全性。
语法
# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
inputs:
#enableAutomaticCodeQLInstall: false # boolean. Enable automatic CodeQL detection and installation. Default: false.
#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....
#buildtype: 'Manual' # 'Manual' | 'None'. Select build mode (manual vs none). Default: Manual.
# 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).
输入
enableAutomaticCodeQLInstall
-
启用自动 CodeQL 检测和安装
boolean
。 默认值:false
。
选择此选项会将任务设置为在代理上自动检查 CodeQL。 如果未正确配置 CodeQL 或最新版本,则任务将自动安装最新版本。
languages
-
语言来分析
string
。 允许的值:csharp
、cpp
、go
、java
、javascript
、python
、ruby
、swift
。
要分析的编程语言。 多种语言可以用逗号分隔。
- task: AdvancedSecurity-Codeql-Init@1
inputs:
languages: 'cpp, java, python'
# This languages value is valid, the Pipelines editor
# doesn't recognize all combinations and only validates
# correctly when a single language is specified
可以在任务中在此处设置语言,也可以在名为 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
变量中指定查询套件。
buildtype
-
选择生成模式(手动与无)
string
。 允许的值:Manual
、None
。 默认值:Manual
。
如果要在运行 CodeQL 分析之前手动生成项目,请指定 Manual
。 如果要在不生成项目的情况下运行 CodeQL 分析,请指定 None
。
有关不同生成模式的详细信息,包括比较每个生成模式的优点,请参阅 CodeQL 代码扫描编译语言。 若要使用 autobuild
,请将 AdvancedSecurity-CodeQL-Autobuild@1 任务添加到管道。 有关详细信息,请参阅 代码扫描生成模式自定义。
ram
-
用于控制 MB RAM 使用率的选项
string
。
设置查询计算器应允许使用的 RAM 总数。
可以在任务中在此处指定 ram
,也可以在名为 advancedsecurity.codeql.ram
的管道变量中指定它。 如果同时设置了这两个值,则任务中指定的值优先。
threads
-
使用此多个线程来评估查询
string
。
可以传递 0 以在计算机上每个核心使用一个线程,或者 -N 使 N 核心未使用(但仍使用至少一个线程除外)。
可以在任务中在此处指定 threads
,也可以在名为 advancedsecurity.codeql.threads
的管道变量中指定它。 如果同时设置了这两个值,则任务中指定的值优先。
codeqlpathstoignore
-
设置代码QL 分析 中要排除的路径列表
string
。
可以提供用逗号分隔的多个路径。 路径必须相对于运行 CodeQL 的 sourcesfolder
,后者默认为 Build.SourcesDirectory
管道环境变量。 例如,若要忽略 $(Build.SourcesDirectory)/donotscan
目录,请设置 codeqlpathstoignore: donotscan
而不是 codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
。
重要
仅当在解释语言(Python、Ruby 和 JavaScript/TypeScript)上运行 CodeQL 任务或分析已编译语言而不生成代码(目前支持 C# 和 Java)时,codeqlpathstoignore
设置才适用。
codeqlpathstoinclude
-
设置要包含在 CodeQL 分析 的其他路径的列表
string
。
可以提供用逗号分隔的多个路径。 路径必须相对于运行 CodeQL 的 sourcesfolder
,后者默认为 Build.SourcesDirectory
管道环境变量。 例如,若要包含 $(Build.SourcesDirectory)/app
目录,请设置 codeqlpathstoinclude: app
而不是 codeqlpathstoinclude: $(Build.SourcesDirectory)/app
。
重要
仅当在解释语言(Python、Ruby 和 JavaScript/TypeScript)上运行 CodeQL 任务或分析已编译语言而不生成代码(目前支持 C# 和 Java)时,codeqlpathstoinclude
设置才适用。
sourcesfolder
-
设置包含要分析的源的文件夹
string
。
如果未提供此值,则使用管道基础结构的默认源文件夹(由 Build.SourcesDirectory
变量提供)。
loglevel
-
设置 CodeQL 分析 的日志级别
string
。 允许的值:0
(警告)、1
(详细)、2
(调试)、_
(默认值))。 默认值:_
。
指定日志记录级别。
可以在任务中在此处指定 loglevel
,也可以在名为 advancedsecurity.codeql.loglevel
的管道变量中指定它。 如果两者都已设置,则任务中指定的值优先,除非指定任务中 _
的默认值 loglevel
。 如果指定了 _
,则使用 advancedsecurity.codeql.loglevel
中的值(如果可用)。
configfilepath
-
使用它在 codeql 中启用自定义查询分析(路径必须是绝对路径)。
string
。
如果未提供路径,则 codeql 分析将继续执行默认查询。
codeqltoolsdirectory
-
设置自定义 CodeQL 工具目录(路径必须为绝对路径)
string
。
如果未提供路径,将使用 $agent_toolsdirectory
的默认值。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
没有。
言论
必须为要扫描的存储库启用 Azure DevOps 的 GitHub 高级安全性。
重要
Azure Repos Git 存储库仅支持此任务。
管道必须按以下顺序调用任务。
- 初始化 CodeQL
- 自动生成(或自定义生成任务)
- 执行 CodeQL 分析
AutoBuild 任务是可选的,可以替换为自定义生成任务。 必须运行 AutoBuild 或自定义生成任务,才能分析项目。
要求
要求 | 描述 |
---|---|
管道类型 | YAML,经典版本,经典版本 |
运行时间 | 代理,DeploymentGroup |
需求 | 没有 |
功能 | 此任务不满足作业中后续任务的任何要求。 |
命令限制 | 任何 |
Settable 变量 | 任何 |
代理版本 | 所有支持的代理版本。 |
任务类别 | 建 |
另请参阅
- 针对 GitHub 高级安全性 的 代码扫描