整合 Code Engine 工作量與 Continuous Delivery

您可以使用 Continuous Delivery來建立工具鏈,以自動建置及部署 IBM Cloud® Code Engine 工作量。 您可以建立工具鏈,以從儲存庫取回原始碼,然後建置並部署應用程式或工作。 每當您更新儲存庫中的原始碼時,工具鏈會自動取回已更新的程式碼,然後建置並重新部署應用程式或工作。

開始之前

在開始使用工具鏈之前,

配置工具鏈的存取權

如果您想要使用工具鏈來建置及部署應用程式或工作,請在 IAM 中設定下列許可權。

IBM Cloud Container Registry

  • 讀者: 從容器登錄取回映像檔。
  • 寫出器: 將已建立的映像檔推送至目標名稱空間。
  • 管理程式: 如果指定的名稱空間不存在,則建立它。
  • 管理者: 建立服務 ID、原則及 API 金鑰所需的項目,以設定用於應用程式或工作的 Code Engine 登錄密鑰。

Code Engine

  • 編輯者: 存取 Code Engine 專案或建立一個專案 (如果不存在的話)。
  • 撰寫者: 管理 Code Engine 專案內的應用程式、工作及密碼。

資源群組:

  • 檢視者: 檢視 Code Engine 專案所在的資源群組。

如果您想要應用程式連結另一個 IBM Cloud 服務,則必須設定下列其他許可權。

所有已啟用身分及存取的服務

  • 管理者: 建立服務 ID、原則及 API 金鑰以設定 Code Engine 服務存取密碼,用於維護服務認證以將個別服務連接至 Code Engine 應用程式或工作。

建立工具鏈

您可以從 工具鏈頁面 建立工具鏈,方法是選取 建立工具鏈,然後選擇 Code Engine 範本。 想要嘗試指導教學嗎? 請參閱 使用 Code Engine來開發及部署應用程式

工具鏈中的 Code Engine 選項

您可以透過編輯 ci-pipeline Configuration 並選取 環境內容,為 Code Engine 工具鏈設定下列選項。

工具鏈中的Code Engine選項
選項 說明
apikey 用於此工具鏈的 IBM Cloud API 金鑰。
app-concurrency 每個實例可以同時處理的最大請求數。 預設值為 100
app-deployment-timeout 在建置必須成功或失敗之前可以經過的時間量 (秒)。
app-health-endpoint 應用程式性能端點; 例如 /health
app-max-scale 可用於此應用程式的實例數上限。 如果將此值設為 0,應用程式將根據需要進行縮放。 應用程式調整大小僅受限於應用程式專案的每個資源配額的實例數。 請參閱 Code Engine的限制和配額。 預設值為 10
app-min-scale 可用於此應用程式的實例數下限。 此選項有助於確保在不需要時沒有任何實例在執行中。 這是選用值。 預設值為 0
app-name 應用程式的名稱。 請使用專案內唯一的名稱。
app-port 應用程式偵聽傳入連線的連接埠。 格式為 [NAME:]PORT,其中 [NAME:] 是選用項目。 如果指定 [NAME:],則有效值為 h2chttp1。 依預設,Code Engine 會假設應用程式在埠 8080 上接聽送入的連線。
app-visibility 應用程式的可見性。 有效值為 publicprivateproject。 設定 public 的可見性表示您的應用程式可以接收來自公用網際網路或來自 Code Engine 專案內元件的要求。 請參閱 Code Engine 應用程式的可見性選項
branch 儲存庫中包含建置套件檔案或 Dockerfile 的分支。 預設值為 main
build-size 建置的大小,決定使用的資源數量。 有效值為 smallmediumlargexlargexxlarge。 如需詳細資料,請參閱 判斷建置的大小
build-strategy 用於建置映像檔的策略。 有效值為 dockerfilebuildpacks
build-timeout 在建置執行必須成功或失敗之前可以經過的時間量 (秒)。 預設值為 1200 秒。
build-use-native-docker 接受以使用原生 Docker 建置功能而非 Code Engine 建置來併櫃來源的選用內容。 僅當 build-strategy 設定為 dockerfile 時,您才可以選取此值。 有效值為 truefalse
code-engine-project 包含此應用程式的專案。
cpu 為應用程式實例設定的 CPU 量。 如需有效值,請參閱 支援的記憶體及 CPU 組合。 預設值為 1
deployment-type 指定部署類型。 有效值為 applicationjob
ephemeral-storage 要為應用程式實例設定的暫時儲存體數量。 使用 M 表示兆位元組或 G 表示千兆位元組。
git-token Git 儲存庫的存取記號。
image-name 用於此應用程式的映像檔名稱。 格式為 REGISTRY/NAMESPACE/REPOSITORY:TAG 其中 REGISTRYTAG 是可選的。 如果未指定 REGISTRY,則預設為 docker.io。 如果未指定 TAG,則預設為 latest
memory 為應用程式實例設定的記憶體量。 使用 M 表示兆字節,使用 G 表示千兆位元組。 如需有效值,請參閱 支援的記憶體及 CPU 組合。 預設值為 4G
path-to-context 儲存庫中包含建置套件檔案或 Dockerfile 的目錄。
path-to-dockerfile Dockerfile 的路徑。 只有在名稱不是 Dockerfile 時,才指定此選項。
pipeline-debug 管線除錯模式。 值可以是 01。 預設為 0
region Code Engine 專案所在的地區。
registry-namespace 儲存所建置映像檔的容器登錄名稱空間。
registry-region 儲存器登錄區域。
resource-group 包含 Code Engine 專案的資源群組。
service-bindings 將 IBM Cloud 服務實例連結至應用程式的服務連結。 該值的格式為 "{&quot;<SERVICE_INSTANCE_NAME>&quot;: &quot;<BINDING_PREFIX>&quot;}"。 例如,"{&quot;object-store-rg-e&quot;: &quot;CLOUD_OBJECT_STORAGE&quot;}。 此值必須為 base64。

如需其他選項,請參閱工具鏈設定中管線的 環境內容

疑難排解工具鏈問題

使用下列主題對 Code Engine 工具鏈進行疑難排解。