本頁面說明如何指定建構依附元件。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 存放區指定為依附元件
如果您將 Developer Connect 存放區指定為依附元件,就必須將
Developer Connect Read Token Accessor
角色授予 Cloud Build 服務帳戶。詳情請參閱「授予 Cloud Build 存放區存取權給 Developer Connect 存放區」一文。您的版本必須與開發人員連線位於相同的區域。