共用方式為


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。 允許的值:csharpcppgojavajavascriptpythonrubyswift

要分析的程式設計語言。 多種語言可以以逗號分隔。

您可以在工作中設定這裡的語言,也可以在名為 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 變數中指定查詢套件。


buildtype - 選取建置模式 (手動與無)
string。 允許的值:ManualNone。 預設值: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 存放庫才支援這項工作。

管線必須依下列順序呼叫工作。

  1. 初始化 CodeQL
  2. 自動建置 (或您的自訂建置工作)
  3. 執行 CodeQL 分析

自動建置工作是選擇性的,可以取代為自定義建置工作。 您必須執行自動建置或自定義建置工作,才能分析您的專案。

要求

要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 所有支援的代理程式版本。
工作類別

另請參閱

  • GitHub 進階安全性 程式代碼掃描