一般建構工具
建構包具有預設的通用建構工具,可建立專為在 Google Cloud 服務上執行的容器映像檔,包括但不限於:Google Kubernetes Engine、GKE Enterprise、Cloud Run、App Engine 和 Cloud Run 函式。
Buildpack 通用建構工具:
- 自動偵測原始碼的語言。建構包一般建構工具會掃描常見的專案設定檔,判斷特定語言版本。舉例來說,如果建構工具偵測到原始碼為 Node.js,就會檢查
package.json檔案中的engines欄位,判斷 Node.js 的特定版本。如果建構工具無法判斷特定版本,就會使用最新版本。 - 判斷該原始碼是應用程式 (服務) 還是函式。
- 將原始碼建構為可部署的容器映像檔。
一般建構工具本身是容器映像檔,公開託管於 Container Registry。
| 標記 | 位置 | 作業系統 |
|---|---|---|
google-24 (預先發布版) |
gcr.io/buildpacks/builder:google-24 | Ubuntu 24 |
latest |
gcr.io/buildpacks/builder:latest | Ubuntu 22. latest 代碼預設為一般建構工具版本 google-22。 |
google-22 |
gcr.io/buildpacks/builder:google-22 | Ubuntu 22 |
v1 |
gcr.io/buildpacks/builder:v1 | Ubuntu 18 |
預設建構工具
如要一律使用最新版本和作業系統,可以指定 latest 標記。latest 標記預設為一般建構工具的 google-22 版本,並在您執行 gcloud run deploy 指令時使用。如需將版本固定,請參閱使用特定建構工具的操作說明。
builder:google-24 (預覽版) 支援的語言
| 語言 | 支援版本 | 應用程式 | 函式 |
|---|---|---|---|
| Python | 3.13.x | ✓ | ✓ |
| Node.js | 22.x.x | ✓ | ✓ |
| 24.x.x | ✓ | ✓ | |
| Go | 1.x | ✓ | ✓ |
| Java | 17 | ✓ | ✓ |
| 21 | ✓ | ✓ | |
| Ruby | 3.2.x | ✓ | ✓ |
| 3.3.x | ✓ | ✓ | |
| 3.4.x | ✓ | ✓ | |
| PHP | 8.2.x | ✓ | ✓ |
| 8.3.x | ✓ | ✓ | |
| 8.4.x | ✓ | ✓ | |
| .NET Core | 8.x.x | ✓ | ✓ |
builder:google-22 支援的語言
| 語言 | 支援版本 | 應用程式 | 函式 |
|---|---|---|---|
| Python | 3.10.x | ✓ | ✓ |
| 3.11.x | ✓ | ✓ | |
| 3.12.x | ✓ | ✓ | |
| 3.13.x | ✓ | ✓ | |
| Node.js | 12.x.x | ✓ | ✓ |
| 14.x.x | ✓ | ✓ | |
| 16.x.x | ✓ | ✓ | |
| 18.x.x | ✓ | ✓ | |
| 20.x.x | ✓ | ✓ | |
| 22.x.x | ✓ | ✓ | |
| 24.x.x | ✓ | ✓ | |
| Java | 8 | ✓ | |
| 11 | ✓ | ✓ | |
| 17 | ✓ | ✓ | |
| 21 | ✓ | ✓ | |
| Go | 1.x | ✓ | ✓ |
| Ruby | 3.1.x | ✓ | ✓ |
| 3.2.x | ✓ | ✓ | |
| 3.3.x | ✓ | ✓ | |
| 3.4.x | ✓ | ✓ | |
| PHP | 8.1.x | ✓ | ✓ |
| 8.2.x | ✓ | ✓ | |
| 8.3.x | ✓ | ✓ | |
| 8.4.x | ✓ | ✓ | |
| .NET Core | 6.x | ✓ | ✓ |
| 7.x | ✓ | ✓ | |
| 8.x | ✓ | ✓ |
builder:v1 支援的語言
| 語言 | 支援版本 | 應用程式 | 函式 |
|---|---|---|---|
| Python | 3.7.x | ✓ | ✓ |
| 3.8.x | ✓ | ✓ | |
| 3.9.x | ✓ | ✓ | |
| 3.10.x | ✓ | ✓ | |
| 3.11.x | ✓ | ✓ | |
| Node.js | 8.x.x | ✓ | ✓ |
| 12.x.x | ✓ | ✓ | |
| 14.x.x | ✓ | ✓ | |
| 16.x.x | ✓ | ✓ | |
| 18.x.x | ✓ | ✓ | |
| 20.x.x | ✓ | ✓ | |
| Java | 8. | ✓ | |
| 11 | ✓ | ✓ | |
| 17 | ✓ | ✓ | |
| Go | 1.x | ✓ | ✓ |
| Ruby | 2.5.x | ✓ | ✓ |
| 2.6.x | ✓ | ✓ | |
| 2.7.x | ✓ | ✓ | |
| 3.0.x | ✓ | ✓ | |
| 3.1.x | ✓ | ✓ | |
| 3.2.x | ✓ | ✓ | |
| 3.3.x | ✓ | ✓ | |
| PHP | 7.4.x | ✓ | ✓ |
| 8.0.x | ✓ | ✓ | |
| 8.1.x | ✓ | ✓ | |
| 8.2.x | ✓ | ✓ | |
| .NET Core | 3.1.x | ✓ | ✓ |
| 6.x | ✓ | ✓ | |
| 7.x | ✓ | ✓ | |
| 8.x | ✓ | ✓ |
App Engine builder
Buildpack 也會發布用於將應用程式容器化的建構工具,以供 App Engine 第二代執行階段使用。
App Engine 建構工具包含其他建構包和 App Engine 專用設定。例如,這些函式經過最佳化,可提升執行速度和自動更新。建構工具會依執行階段語言和作業系統分類: