雲端建構工具

雲端建構工具是安裝了一般語言與工具的容器映像檔。您可以設定 Cloud Build,在這些建構工具的環境中執行特定指令。

本頁說明您可以搭配 Cloud Build 使用的建構工具類型。

開放給大眾使用的映像檔

Cloud Build 可讓您使用任何開放給大眾使用的映像檔執行工作。如要使用圖片,請在設定檔的 name 欄位中指定圖片網址。使用 args 欄位指定要在映像檔中執行的指令。建構步驟的 args 欄位會取得引數清單並將其傳送至 name 欄位參照的映像檔。

下列程式碼片段顯示如何使用 Docker Hub 的公開 ubuntu 映像檔,並在該映像檔中執行指令:

steps:
- name: 'ubuntu'
  args: ['echo', 'hello world']

以下是另一個程式碼片段範例,此範例使用 Cloud Build 適用的 Black Duck 開放原始碼掃描工具映像檔,取自Google Cloud 主控台啟動器

steps:
- name: launcher.gcr.io/blackduck-public/blackducksoftware-containerbuilder-scanner
  ...

如需更多範例,瞭解如何使用 Docker Hub 中公開提供的映像檔執行工作,請參閱「建構 Node.js 應用程式」和「建構 Go 應用程式」。

由 Cloud Build 提供的支援建構工具映像檔

Cloud Build 提供並維護預先建構的映像檔,您可以在設定檔中參照這些映像檔來執行工作。您可以在下列位置找到這些預先建構的映像檔:

gcr.io/cloud-builders/...

這些建構工具的原始碼可在雲端建構工具 GitHub 存放區中找到。

如需如何使用支援的預先建構映像檔的範例,請參閱「建構容器映像檔」和「部署至 Cloud Run」。

下表列出支援之建構工具映像檔的部分範例:

建構工具 姓名 範例
bazel gcr.io/cloud-builders/bazel bazel 範例
docker gcr.io/cloud-builders/docker docker 範例
git gcr.io/cloud-builders/git git 範例
gcloud gcr.io/cloud-builders/gcloud gcloud 範例
gke-deploy gcr.io/cloud-builders/gke-deploy gke-deploy 範例
gradle gcr.io/cloud-builders/gradle gradle 範例
maven gcr.io/cloud-builders/mvn maven 範例
Cloud Build 適用的支援建構工具完整清單。

社群提供的建構工具

Cloud Build 開發人員社群提供開放原始碼建構工具,您可以使用這些建構工具執行工作。這些建構工具無法使用預先建構的映像檔;如要使用這些建構工具,請從雲端建構工具社群 GitHub 存放區下載原始碼,然後建構映像檔。如需瞭解如何建立社群貢獻的建構工具,並將其用於工作,請參閱「使用 Packer 建立 VM 映像檔」一文。

下表列出社群提供的建構工具的部分範例:

建構工具 說明
docker-compose 對 docker 映像檔執行整合測試。
harness-chaos 使用 Harness Chaos Engineering 啟動混沌實驗,並測試應用程式的復原能力。
helm 使用 Helm 管理 Kubernetes 套件。
kaniko 使用 kaniko 執行建構步驟。
pack 使用指定的 Cloud Native Buildpack 執行建構步驟。
packer 使用 Packer 自動建立機器映像檔。
remote-builder 對可設定的 Compute Engine VM 執行建構步驟。
Cloud Build 適用的社群提供建構工具完整清單。

社群提供的建構工具由開放原始碼社群維護,網址為 cloud builders community。Cloud Build 不會正式維護這些建構工具。如要瞭解如何建立建構工具,請參閱雲端建構工具社群 GitHub 頁面。

撰寫自己的自訂建構工具

您可以建立自己的自訂建構工具來用於建構。自訂建構工具是 Cloud Build 使用原始碼提取及執行的一種容器映像檔。您的自訂建構工具可以執行容器內的任何指令碼或二進位檔,因此可以執行容器能夠執行的所有操作。如需建立自訂建構工具的操作說明,請參閱「建立自訂建構步驟」。

後續步驟