整合 Code Engine 工作量與 Continuous Delivery
您可以使用 Continuous Delivery來建立工具鏈,以自動建置及部署 IBM Cloud® Code Engine 工作量。 您可以建立工具鏈,以從儲存庫取回原始碼,然後建置並部署應用程式或工作。 每當您更新儲存庫中的原始碼時,工具鏈會自動取回已更新的程式碼,然後建置並重新部署應用程式或工作。
開始之前
在開始使用工具鏈之前,
-
建立或識別 Code Engine 專案。 您可以使用主控台或 CLI 來建立這些資源。 如需相關資訊,請參閱 Code Engine 專案。
-
建立或識別 Continuous Delivery 服務的實例。
-
建立或識別 IBM Cloud Container Registry 名稱空間。 如需建立名稱空間的相關資訊,請參閱 IBM Cloud Container Registry 服務。
配置工具鏈的存取權
如果您想要使用工具鏈來建置及部署應用程式或工作,請在 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 工具鏈設定下列選項。
| 選項 | 說明 |
|---|---|
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:],則有效值為 h2c 或 http1。 依預設,Code Engine 會假設應用程式在埠 8080 上接聽送入的連線。 |
app-visibility |
應用程式的可見性。 有效值為 public、private 和 project。 設定 public 的可見性表示您的應用程式可以接收來自公用網際網路或來自 Code Engine 專案內元件的要求。 請參閱 Code Engine 應用程式的可見性選項。 |
branch |
儲存庫中包含建置套件檔案或 Dockerfile 的分支。 預設值為 main。 |
build-size |
建置的大小,決定使用的資源數量。 有效值為 small、medium、large、xlarge 及 xxlarge。 如需詳細資料,請參閱 判斷建置的大小。 |
build-strategy |
用於建置映像檔的策略。 有效值為 dockerfile 和 buildpacks。 |
build-timeout |
在建置執行必須成功或失敗之前可以經過的時間量 (秒)。 預設值為 1200 秒。 |
build-use-native-docker |
接受以使用原生 Docker 建置功能而非 Code Engine 建置來併櫃來源的選用內容。 僅當 build-strategy 設定為 dockerfile 時,您才可以選取此值。 有效值為 true 及 false。 |
code-engine-project |
包含此應用程式的專案。 |
cpu |
為應用程式實例設定的 CPU 量。 如需有效值,請參閱 支援的記憶體及 CPU 組合。 預設值為 1。 |
deployment-type |
指定部署類型。 有效值為 application 和 job。 |
ephemeral-storage |
要為應用程式實例設定的暫時儲存體數量。 使用 M 表示兆位元組或 G 表示千兆位元組。 |
git-token |
Git 儲存庫的存取記號。 |
image-name |
用於此應用程式的映像檔名稱。 格式為 REGISTRY/NAMESPACE/REPOSITORY:TAG 其中 REGISTRY 和 TAG 是可選的。 如果未指定 REGISTRY,則預設為 docker.io。 如果未指定 TAG,則預設為 latest。 |
memory |
為應用程式實例設定的記憶體量。 使用 M 表示兆字節,使用 G 表示千兆位元組。 如需有效值,請參閱 支援的記憶體及 CPU 組合。 預設值為 4G。 |
path-to-context |
儲存庫中包含建置套件檔案或 Dockerfile 的目錄。 |
path-to-dockerfile |
Dockerfile 的路徑。 只有在名稱不是 Dockerfile 時,才指定此選項。 |
pipeline-debug |
管線除錯模式。 值可以是 0 或 1。 預設為 0。 |
region |
Code Engine 專案所在的地區。 |
registry-namespace |
儲存所建置映像檔的容器登錄名稱空間。 |
registry-region |
儲存器登錄區域。 |
resource-group |
包含 Code Engine 專案的資源群組。 |
service-bindings |
將 IBM Cloud 服務實例連結至應用程式的服務連結。 該值的格式為 "{"<SERVICE_INSTANCE_NAME>": "<BINDING_PREFIX>"}"。 例如,"{"object-store-rg-e": "CLOUD_OBJECT_STORAGE"}。
此值必須為 base64。 |
如需其他選項,請參閱工具鏈設定中管線的 環境內容。
疑難排解工具鏈問題
使用下列主題對 Code Engine 工具鏈進行疑難排解。