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
-
啟用自動程式代碼QL 偵測和安裝
boolean
。 預設值:false
。
選取此選項會將工作設定為在代理程式上自動檢查 CodeQL。 如果未正確設定 CodeQL 或最新版本,工作會自動安裝最新版本。
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
變數中指定查詢套件。
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
-
在 CodeQL 分析 中設定要排除的路徑清單
string
。
您可以提供以逗號分隔的多個路徑。 路徑必須與 CodeQL 執行所在的 sourcesfolder
相對,其預設為 Build.SourcesDirectory
管線環境變數。 例如,若要忽略 $(Build.SourcesDirectory)/donotscan
目錄,請設定 codeqlpathstoignore: donotscan
,而不是 codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
。
重要
codeqlpathstoignore
設定僅適用於您在解譯語言上執行 CodeQL 工作時(Python、Ruby 和 JavaScript/TypeScript),或當您分析編譯的語言而不建置程式代碼時(目前支援 C# 和 Java)。
codeqlpathstoinclude
-
設定程式碼QL分析 中要包含的其他路徑清單
string
。
您可以提供以逗號分隔的多個路徑。 路徑必須與 CodeQL 執行所在的 sourcesfolder
相對,其預設為 Build.SourcesDirectory
管線環境變數。 例如,若要包含 $(Build.SourcesDirectory)/app
目錄,請設定 codeqlpathstoinclude: app
,而不是 codeqlpathstoinclude: $(Build.SourcesDirectory)/app
。
重要
codeqlpathstoinclude
設定僅適用於您在解譯語言上執行 CodeQL 工作時(Python、Ruby 和 JavaScript/TypeScript),或當您分析編譯的語言而不建置程式代碼時(目前支援 C# 和 Java)。
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 分析
自動建置工作是選擇性的,可以取代為自定義建置工作。 您必須執行自動建置或自定義建置工作,才能分析您的專案。
要求
要求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行於 | Agent、DeploymentGroup |
需求 | 沒有 |
功能 | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 所有支援的代理程式版本。 |
工作類別 | 建 |