AdvancedSecurity-Codeql-Init@1 - 進階安全性初始化 CodeQL v1 工作
初始化 CodeQL 資料庫,以準備建置。
您必須針對要掃描的存放庫啟用 Azure DevOps GitHub Advanced Security。
Syntax
# 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
- 以 MB 控制 RAM 使用量的選項
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
.
如果您未提供此值,則會使用管線基礎結構的預設來源資料夾 (Build.SourcesDirectory
變數) 。
loglevel
- 設定 CodeQL 分析的記錄層級
string
. 允許的值: 0
(Warning) 、 1
(Verbose) 、 2
(Debug) 、 _
(Default (Warning) ) 。 預設值:_
。
指定記錄層級。
您可以在工作中在此處指定 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 分析
自動建置工作是選擇性的,可以取代為自定義建置工作。 您必須執行自動建置或自定義建置工作,才能分析專案。
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行於 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 所有支援的代理程式版本。 |
工作類別 | 建置 |