本頁說明如何指定建構依附元件。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 連線位於相同區域。