雲端建構工具

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

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

公開提供的映像檔

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

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

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

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

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 Build 不會正式維護這些建構工具。如要瞭解如何為建構工具做出貢獻,請參閱 雲端建構工具社群 GitHub 頁面。

撰寫自己的自訂建構工具

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

後續步驟