Cloud Build 可讓您在高 CPU 虛擬機器 (VM) 類型上執行建構作業,藉此提高建構速度,而非使用預設的標準 VM。雖然高 vCPU 機器能加快建構作業的執行速度,但由於 Cloud Build 只會在需要時啟動非標準機器,因此可能會增加預設集區的啟動時間。
如果預設集區提供的 vCPU 選項不敷使用,您可以改用私人集區執行建構作業, 私人集區提供更多高 CPU 機器類型。
如要進一步瞭解所有可用的機器類型,請參閱定價頁面。
事前準備
如要使用本指南中的指令列範例,請安裝及設定 Google Cloud CLI。
- 如果您先前已安裝 gcloud CLI,請執行
gcloud components update,確保您使用的是最新版本。
增加預設集區的 vCPU
如要增加預設集區中執行建構作業的 vCPU,可以直接將值傳遞至 gcloud builds submit 指令,或在建構設定檔中指定值。
直接將值傳遞至 gcloud builds submit 指令:
如要直接在 gcloud builds submit 指令中指定自訂 VM 大小,請在指令中新增 --machine-type 引數:
gcloud builds submit --config=cloudbuild.yaml \
--machine-type=E2_HIGHCPU_8
在建構設定檔中指定值:
YAML
開啟建構設定檔。
將
machineType欄位更新為與預設集區支援的其中一種機器類型對應的列舉值。以下範例說明如何在建構設定檔中新增machineType選項:steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'gcr.io/my-project/image1', '.'] options: machineType: 'E2_HIGHCPU_8'使用 gcloud CLI 或建構觸發條件啟動建構作業。
JSON
開啟建構設定檔。
將
machineType欄位更新為與預設集區支援的其中一種機器類型對應的列舉值。以下範例說明如何在建構設定檔中新增machineType選項:{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": ["build", "-t", "gcr.io/my-project/image1", "."] }, "options": { "machineType": "E2_HIGHCPU_8" } }使用 gcloud CLI 或建構觸發條件啟動建構作業。
如要確保用於建構 Cloud Run 服務容器的機型符合特定條件,請按照下列步驟操作:
使用專屬的 Cloud Build 建構作業建構及推送容器映像檔,並在
cloudbuild.yaml中設定所需的machineType。在 Artifact Registry 中參照映像檔網址,將服務部署至 Cloud Run:
gcloud run deploy SERVICE_NAME --image IMAGE_URL
增加私人集區的 vCPU
控制台
在 Google Cloud 控制台中開啟「Worker pool」(工作站集區) 頁面:
選取您建立私人集區的專案。
按一下私人集區名稱。
在「編輯私人集區」側邊面板中,使用「機型」下拉式選單選取較大的機型。
按一下 [儲存]。
gcloud
如要增加私有集區中執行建構作業的 vCPU,可以將值直接傳遞至 gcloud builds worker-pools update 指令,或在私有集區設定檔中指定值。
在私有集區設定檔中指定值:
開啟私人集區設定檔。
將
machineType欄位的值更新為支援的機型。執行下列指令,其中
PRIVATEPOOL_ID是私人集區的專屬 ID,REGION是私人集區所在的區域,PRIVATEPOOL_CONFIG_FILE則是私人集區設定檔的名稱:gcloud builds worker-pools update PRIVATEPOOL_ID \ --region=REGION \ --config-from-file=PRIVATEPOOL_CONFIG_FILE
直接將值傳遞至 gcloud builds worker-pools update 指令:
gcloud builds worker-pools update PRIVATEPOOL_ID \
--region=REGION \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE
將上述指令中的預留位置值替換為下列值:
PRIVATEPOOL_ID:現有私人集區的 ID。您無法更新這個值,必須指定現有的私人集區 ID。REGION:您建立私人集區的區域。PRIVATEPOOL_DISK_SIZE:更新後的磁碟大小。PRIVATEPOOL_MACHINE_TYPE是更新後的機型。每當您使用對應的私人集區執行建構作業時,Cloud Build 都會使用更新後的機型。
後續步驟
- 進一步瞭解加速建構的最佳做法。