雲端建構工具是安裝了一般語言與工具的容器映像檔。您可以設定 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 使用原始碼提取及執行的一種容器映像檔。您的自訂建構工具可以執行容器內的任何指令碼或二進位檔,因此可以執行容器能夠執行的所有操作。如需建立自訂建構工具的操作說明,請參閱「建立自訂建構步驟」。
後續步驟
- 瞭解如何使用社群提供的建構工具和自訂建構工具。
- 瞭解建構設定檔的結構。
- 瞭解如何使用公開的
node
映像檔建構Node.js
應用程式。 - 瞭解如何使用預先建構的
gcloud
映像檔,將函式部署至 Cloud Run。 - 瞭解如何使用社群提供的
firebase
映像檔,在 Firebase 上進行部署。