本頁說明如何在 Cloud Build 中使用社群提供的建構工具和自訂建構工具。Cloud Build 開發人員社群提供開放原始碼建構工具,您可以使用這些工具執行工作。如果想執行的工作需要現有映像檔未提供的功能,您可以建構自己的自訂映像檔,並在建構步驟中使用。如要瞭解不同類型的建構工具,請參閱「雲端建構工具」。
如果您是 Cloud Build 新手,請先參閱快速入門導覽課程和建構設定總覽。
使用社群提供的建構工具
社群貢獻的建構工具無法使用預先建構的映像檔;如要在 Cloud Build 設定檔中使用這些建構工具,您必須先建構映像檔,然後將其推送至專案中的 Artifact Registry。
如何使用社群提供的建構工具:
建構及推送建構工具:
前往專案根目錄。
複製 cloud-builders-community 存放區:
git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
前往要使用的建構工具映像檔,其中 builder-name 是包含建構工具的目錄:
cd cloud-builders-community/builder-name
將建構工具提交至專案:
gcloud builds submit .
返回專案根目錄:
cd ../..
從根目錄中移除存放區:
rm -rf cloud-builders-community/
在 Cloud Build 設定檔中,於建構步驟中使用建構工具:
YAML
steps: - name: 'gcr.io/project-id/builder-name' args: ['arg1', 'arg2', ...] ...
JSON
{ "steps": [ { "name": "gcr.io/project-id/builder-name", "args": [ "arg1", "arg2", ... ] ... } ] }
使用建構設定檔手動啟動建構或使用觸發條件啟動建構。
如需使用社群提供的建構工具的範例,請參閱「部署至 Firebase」和「使用 Packer 建立 VM 映像檔」。
建立自訂建構工具
如果想執行的工作需要的功能,公開映像檔、支援的建構工具或社群貢獻的建構工具未提供,您可以自行建構映像檔,並在建構步驟中使用。
以下是您可能想要使用自訂建構工具映像檔的狀況範例:
- 從外部位置下載原始碼或套件。
- 使用外部工具鍊。
- 快取任何所需程式庫。
- 預先建構原始碼 (Cloud Build 僅對可能會將建構封裝至映像檔的情況負責)。
與其他建構工具一樣,自訂建構工具會在來源掛接到 /workspace
之下時執行,並且會在 /workspace
的工作目錄中執行。指定建構步驟留在 /workspace
的任何檔案都可供其他建構步驟使用。
自訂建構工具可推送到構件登錄服務 (託管於 gcr.io/$PROJECT-NAME/
) 的存放區,或從該處提取,前提是建構服務帳戶具有存取權。
下列步驟說明如何建立及使用自訂建構工具,並提供範例
Dockerfile
:
建立自訂建構工具映像檔:
為自訂建構工具建立
Dockerfile
。以下程式碼為Dockerfile
的範例:FROM alpine RUN apk add curl CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
在專案中建構自訂建構工具並推送至 Artifact Registry,並將 project-id 和 image-name 的值替換為適當的值:
gcloud builds submit --tag gcr.io/project-id/image-name
如要在 Cloud Build 中使用自訂建構工具映像檔,請在建構步驟的
name
欄位中指定建構工具:YAML
steps: - name: 'gcr.io/project-id/image-name' id: Determine IP of this build worker
JSON
{ "steps": [ { "name": "gcr.io/project-id/image-name", "id": "Determine IP of this build worker" } ] }
使用建構設定檔手動啟動建構或使用觸發條件啟動建構。
後續步驟
- 瞭解如何在建構步驟中執行 bash 指令碼。
- 瞭解如何設定建構步驟順序。
- 瞭解如何撰寫基本建構設定檔。