管理建構依附元件

本頁面說明如何指定建構依附元件。Cloud Build 可讓您在建構程序中,單獨管理原始碼依附元件。

您可以在建構設定檔中列出要為建構作業複製的一或多個 Git 存放區,以及擷取這些存放區的順序。以這種方式指定依附元件,可將依附元件擷取作業與建構程序本身分開。

如果您未在建構設定檔中加入任何依附元件,Cloud Build 會複製包含建構設定檔的原始碼存放區 (針對觸發的建構作業),或是包含原始碼的存放區 (針對您從指令列叫用的建構作業)。如果您在建構設定檔中加入依附元件,Cloud Build 不會複製 dependencies 欄位中未指定的任何存放區。

您在 dependencies 欄位中指定的任何原始碼存放區,都必須透過 Developer Connect 連結至 Cloud Build,或者是公開存放區

系統會依照您在這個設定中指定的順序複製依附元件。此外,在執行任何使用者指定的邏輯之前,系統會先擷取依附元件。因此,依附元件擷取作業是可信任的。

依附元件會顯示在「Build details」(建構詳細資料) 頁面的「Build dependencies」(建構依附元件) 分頁標籤中。

事前準備

本頁操作說明假設您擁有一或多個 Git 存放區,這些存放區可能是公開存放區,或是使用 Developer Connect 連結的存放區。

如要取得新增 Developer Connect 存放區做為依附元件的必要權限,請要求管理員為您的服務帳戶授予 Developer Connect 讀取權杖存取工具 (developerconnect.readTokenAccessor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

指定依附元件

您可以透過在建構設定檔中新增 dependencies 段落來指定依附元件。dependencies 是建構設定檔中的頂層屬性,但您可以將其放在檔案中的任何位置。

以下是 dependencies 節的語法:

YAML

 dependencies:
 - gitSource:
     repository:
       url: 'URL'
       developerConnect: 'RESOURCE_PATH'
     revision: 'REVISION'
     recurseSubmodules: 'true|false'
     depth: DEPTH'
     destPath: 'DEST_PATH'

JSON

 {
     "dependencies": {
         "gitSource": {
             "repository": {
                 "url": "URL"
                 "developerConnect": "RESOURCE_PATH"
             },
             "revision": "REVISION",
             "recurseSubmodules": true|false,
             "depth": "DEPTH",
             "destPath": "DEST_PATH",
         },
     },
 }

替換下列值:

  • URL:選用。要擷取的存放區 HTTPS 網址。您必須指定網址或 Developer Connect 資源路徑。

  • RESOURCE_PATH:選用。該 Developer Connect 存放區的 Google Cloud 資源路徑。例如:projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo。您必須指定網址或 Developer Connect 資源路徑。如果要擷取的存放區是透過 Developer Connect 連結至 Cloud Build,請指定這個欄位。

  • REVISION:必填。從存放區擷取的版本、提交雜湊、標記或分支名稱。

  • recurseSubmodules:'true|false':是否要擷取子模組。

  • DEPTH:(選用) 要擷取的存放區歷程記錄深度。如未指定,系統會擷取最新的版本。

    • 1:最新修訂版本
    • 2:最近兩次提交
    • 3:最近三次提交
    • -1:所有提交
  • DEST_PATH:必填。存放區複製至的目錄路徑。例如:my/repo

    設定 dest_path 時,存放區會在 /workspace/ 中擷取。dest_path 值必須是相對於建構工作目錄的路徑。

將 Developer Connect 存放區指定為依附元件

後續步驟