本頁說明如何在 Cloud Build 中使用社群提供的建構工具和自訂建構工具。Cloud Build 開發人員社群提供開放原始碼建構工具,您可以使用這些建構工具執行工作。如果您要執行的工作需要現有映像檔未提供的功能,可以自行建構自訂映像檔,並在建構步驟中使用該映像檔。如要瞭解不同類型的建構工具,請參閱「雲端建構工具」。
如果您是 Cloud Build 新手,請先參閱快速入門課程和建構設定總覽。
使用社群提供的建構工具
社群貢獻的建構工具無法使用預先建構的映像檔;如要在 Cloud Build 設定檔中使用這些建構工具,您必須先建構映像檔,然後將其推送至專案中的 Container 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
的任何檔案都可供其他建構步驟使用。
自訂建構工具可推送至或從 Container Registry 中的存放區 (託管於 gcr.io/$PROJECT-NAME/
) 提取,build 服務帳戶可存取該存放區。
以下步驟說明如何使用範例 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)"
建構並將自訂建構工具推送至專案中的 Container 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 指令碼。
- 瞭解如何設定建構步驟順序。
- 瞭解如何撰寫基本建構設定檔。