規劃您的建造

在您開始使用 IBM Cloud® Code Engine 建立影像之前,請先瞭解您建立影像的不同選項。

Code Engine 支援從 Docker 檔案建立,而 Cloud Native Buildpacks 則支援從 Docker 檔案建立。

如果您有一個存在於容器註冊表中的映像建立,而該映像是使用非 Intel 架構的處理器建立的,則 Code Engine 無法執行您的容器映像。Code Engine 使用 Intel 架構的處理器。 如果您使用 Intel 處理器 ( x86 處理器),您可以建立自己的映像。 您也可以選擇讓 Code Engine 替您處理建立程序。

Code Engine 提供自訂資源定義 (CRD) 方法。 如需詳細資訊,請參閱 來源到影像 CRD 方法

準備您的來源位置

若要讓 Code Engine 存取您的原始碼,您需要將原始碼存放在 Git 套件庫或本機工作站上可存取的位置。

Git 儲存庫
將程式碼儲存於 Git 儲存庫,例如在 GitHubGitLab. 您的程式碼可以放在儲存庫的頂層或子目錄中。 如果您的原始碼倉庫不是公開的,您必須新增 存取 Code Engine
本地工作站
將程式碼儲存於本機工作站。 當您提交一個從本機目錄提取程式碼的建置時,您的原始程式碼會打包成歸檔檔案,並上傳到您的 IBM Cloud Container Registry 實例。 來源映像會在與您的建立映像相同的命名空間中建立。 請注意,您的本機建立目標只能是 IBM Cloud Container Registry。 您可以使用 .ceignore 檔案,選擇在原始碼中忽略某些檔案模式,其行為與 .gitignore 檔案類似。 例如,node.js 應用程式的 .ceignore 檔案的項目可能包括 node_modules.npm。 要取得更多要忽略的範例檔案模式,請參閱 GitHub.gitignore 套件庫

選擇建立策略

Code Engine 您可以使用下列策略之一建立容器映像。

Dockerfile

Dockerfile 建立,使用 BuildKit 工具。 若要使用此策略,請新增 Dockerfile 到您的原始碼倉庫。 此 Dockerfile 描述了從來源套件庫建立容器映像所需的步驟。 例如,Dockerfile 可能包含將靜態檔案從您的來源複製到容器中的步驟,以便由 Web 服務託管。 它可能會編譯以您選擇的語言撰寫的原始碼,並將產生的二進位檔加入您的容器映像。 如需更多關於 Dockerfile 建立的資訊,請參閱 為 Code Engine 撰寫 Dockerfile

當您從 Docker Hub 擷取影像,以搭配 Code Engine 中的應用程式或工作使用時,請注意 Docker 費率限制 適用於免費方案 (未驗證) 使用者。 如果您收到 429 錯誤,表示您已達到拉拔速率限制,您可能會遇到拉拔限制。 若要 提高費率限額,您可以將帳戶升級為 Docker ProTeam 訂閱。

Cloud Native Buildpacks

Cloud Native Buildpack 使用 Paketo 檢查您的原始碼儲存庫,並偵測您的程式碼基於哪個執行時環境,以及如何從您的原始碼建立容器映像。 Buildpacks 會假設您的原始碼套件庫的目錄結構。 如需更多關於如何正確結構您的原始碼資料庫的資訊,請參閱為您的運行時間提供的範例。

執行時範例檔案
運行環境 版本 範例
進行 1.24.12 去樣品
Java 21.0.10 Java 樣品
Node.js 24.14.0 Node.js 樣品
PHP 8.1.28 PHP 樣本
Python 3.11.14 Python 樣品
Ruby 3.1.7 Ruby 樣品
.NET Core 9.0.311 (.NET Core SDK)、
9.0.13 (.NET Core Runtime)
.NET Core 樣品

使用 Cloud Native Buildpacks 建立的影像不再使用 Jan, 1st 1980 的中性時間戳作為影像建立時間戳。 輸入來源的時間戳會被用作映像建立的時間戳;例如,您建立時所使用的 Git commit 時間戳。

每當更新版本的建置包推出到各個 IBM Cloud 區域時,Paketo 建置包的特定執行時間版本可能會在短時間內因區域不同而有所差異。

確定建置的大小

Code Engine 將建置分類為 small, medium, large, xlarge,和 xxlarge 大小。 建立的大小定義了 CPU 核心、記憶體和磁碟空間分配給建立的方式。 較小的建置成本較低,但速度通常也較慢,因為它使用較少的 CPU 核心。 此外,您建置的記憶體和磁碟需求可能會導致較小尺寸的建置失敗。

建立大小值。
大小 Dockerfile 建置套件
small
  • CPU 0.5
  • 記憶體 2 GB
  • 磁碟 2 GB
  • CPU 0.5
  • 記憶體 2 GB
  • 磁碟 2 GB
medium
  • CPU 1
  • 記憶體 4 GB
  • 磁碟 4 GB
  • CPU 1
  • 記憶體 4 GB
  • 磁碟 4 GB
large
  • CPU 2
  • 記憶體 8 GB
  • 磁碟 8 GB
  • CPU 2
  • 記憶體 8 GB
  • 磁碟 8 GB
xlarge
  • CPU 4
  • 記憶體 16 GB
  • 磁碟 16 GB
  • CPU 4
  • 記憶體 16 GB
  • 磁碟 16 GB
xxlarge
  • CPU 12
  • 記憶體 48 GB
  • 磁碟 48 GB
  • CPU 12
  • 記憶體 48 GB
  • 磁碟 48 GB

如果您不確定要選擇哪種尺寸,請考慮從 smallmedium 開始。 如果因記憶體或磁碟空間不足,或速度不夠快而導致建立失敗,則改用較大的尺寸。

選擇您的容器映像註冊表

Code Engine 從 Git 套件庫或本機目錄中提取原始碼,進行編譯,然後將映像推送(上傳)到容器映像註冊中心。

您可以使用 您來源的套件庫容器影像的註冊表 公開或隱私。 您也可以選擇以註冊密碼指定註冊表詳細資料,以利您的建立輸出,或者您也可以選擇讓 Code Engine 負責從您的原始碼建立映像,並將映像儲存在 IBM Cloud Container Registry 中,以便 自動存取

選擇您的建立方法

在下列构建选项中,Code Engine 从 Git 资源库或本地目录中提取源代码,构建容器映像,然后将容器映像推送(上载)到注册表。 您可以選擇公共或私人 儲存庫登記處。 如果您的註冊表是私人的,請以註冊表密碼指定註冊表詳細資料,以便您的建立輸出具有使用者提供的存取權限。 或者,您可以選擇讓 Code Engine 為您建立存取權限,以自動存取的方式將影像儲存於 IBM Cloud Container Registry。

建立建立組態

在這種情況下,Code Engine,為您的建置建立組態。

建立建立組態並不會建立映像,而是建立建立映像的組態。 您可以透過執行建立,從組態建立映像。 在執行建立之前,建立組態不會被驗證或用來建立映像。 建立組態可讓映像進行多次後續建立,例如當變更套用至原始碼套件庫時。

如需相關資訊,請參閱下列主題。

建立您的建立組態後,您就可以 執行它

使用獨立的建立指令建立容器影像

若要瞭解如何使用單一 Code Engine CLI 指令建立容器映像,並在不建立可重複使用的建立組態的情況下建立容器映像,請參閱 使用獨立建立指令(CLI)建立容器映像

建立您的程式碼並建立您的工作量

當您從本機原始碼建立工作負載時,原始碼會打包成歸檔檔案,並上傳到您帳戶中 IBM Cloud Container Registry 範例內的受管命名空間。 影像也儲存在這個相同的命名空間中。

若要透過單一操作建立程式碼並建立工作負載,請參閱下列主題。

Git 儲存庫
本端檔案

建置的下一步

尋找更多程式碼範例? 查看 Samples for IBM Cloud Code Engine GitHub repo