管理建構依附元件

本頁說明如何指定建構依附元件。Cloud Build 可讓您分別管理原始碼依附元件和建構程序。

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

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

您在 dependencies 欄位中指定的任何原始碼存放區,都必須使用 Developer Connect 連結至 Cloud Build,否則必須是公開存放區

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

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

事前準備

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

如要取得將 Developer Connect 存放區新增為依附元件所需的權限,請要求管理員授予您服務帳戶的「Developer Connect Read Token Accessor」(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> 中的存放區。dest_path 值必須是相對於建構工作目錄的路徑。

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

  • 如果您將 Developer Connect 存放區指定為依附元件,則必須將 Developer Connect Read Token Accessor 角色授予 Cloud Build 服務帳戶。詳情請參閱「授予 Cloud Build 存取 Developer Connect 存放區的權限」。

  • 建構作業必須與 Developer Connect 連線位於相同區域。

後續步驟