使用 Code Engine 來開發及部署應用程式

DevOps Insights 將於 2026 年 8 月 31 日結束服務並停止運作。Continuous Delivery 將於 2027 年 2 月 12 日在以下地區停止運作:au-sydca-torus-east。 Code Risk Analyzer 也將於該日於所有地區停止提供服務。 若某個區域未實際使用這些功能,該區域中的功能可能會提前停用,並停止接受新的實例。 了解更多

在本教學中,您將學習如何使用 建立 IBM Cloud® Continuous Delivery 開放式工具鏈,並將您的應用程式部署至 Code Engine。 您還將了解工具鏈在「Continuous Delivery」服務中的實作方式,以及如何利用工具鏈開發並部署一個簡單的 Web 應用程式(app)。

IBM Cloud® Code Engine 是完全受管理的無伺服器平台,可執行容器化工作負載,包括 Web 應用程式、微服務、事件驅動功能或批次工作。Code Engine 甚至會從原始碼為您建置容器映像檔。 因為這些工作負載全都在相同的 Kubernetes 基礎架構內管理,所以它們可以緊密合作。 Code Engine 的設計理念,是讓您能專注於編寫程式碼,而非耗費心力在託管程式碼所需的基础架構上。

本指導教學中使用的工具鏈實作標準 DevOps 作法,例如程式碼掃描、驗收測試、Git 儲存庫,以及持續整合和持續交付功能。 建立叢集並將它們與 Continuous Delivery 叢集群組相關聯之後,您可以建立工具鏈來變更應用程式的程式碼,並將變更推送至 Git Repos and Issue Tracking 儲存庫。 當您將變更推送至儲存庫時,Tekton 型 Delivery Pipeline 會自動建置並部署程式碼。

Tekton 是一個開放程式碼、供應商中立的 Kubernetes原生架構,可用來建置、測試及部署應用程式。 Tekton 提供一組共用元件,用於建置持續整合和持續交付系統。 作為開放程式碼專案,Tekton 由 Continuous Delivery Foundation管理。 目標是透過提供管線、工作流程及其他建置區塊的產業規格,將持續交付現代化。 使用 Tekton,您可以透過摘錄基礎實作詳細資料,在雲端提供者或內部部署系統之間建置、測試及部署。 Tekton 管線內建在 Continuous Delivery 中。

開始之前

開始本指導教學之前,請確定您已備妥下列資源:

  • IBM Cloud 帳戶。 視您的 IBM Cloud 帳戶類型而定,對某些資源的存取權限可能會受到限制。 視您的帳戶方案限制而定,部分部署策略所需的某些功能可能無法使用。 如需 IBM Cloud 帳戶的相關資訊,請參閱 設定 IBM Cloud 帳戶升級帳戶

  • Code Engine 專案 和 API 金鑰。 您可以使用使用者介面或 CLI 來建立這些資源。 如需 Code Engine 專案的相關資訊,請參閱 Code Engine 專案

  • Continuous Delivery 服務的實例。

  • 選用。 儲存在密鑰管理儲存庫中並從單一位置集中管理的密鑰。 如需從各種密鑰管理及資料保護供應項目中進行選擇的相關資訊,請參閱 管理 IBM Cloud 密鑰。 如果您還沒有您選擇的密鑰管理儲存庫提供者實例,請建立一個實例。

  • 選用。 使用儲存器登錄指令行建立的名稱空間。 若要建立名稱空間,請從指令行鍵入下列指令:

    ibmcloud cr namespace-add <my namespace>
    

    或者,您可以在 Container Registry 頁面上建立名稱空間。 有關在此位置建立命名空間的更多信息,請參閱 IBM Cloud Container Registry 服務。

建立工具鏈

在此步驟中,您將建立 開發 Code Engine 應用程式 工具鏈。 在工具鏈設定期間,會使用 IBM Cloud API 金鑰及 Code Engine 專案名稱來配置目標 Code Engine 專案。 您可以稍後透過更新 Delivery Pipeline 配置來變更這些設定。 任何合併至目標 Git 儲存庫分支的程式碼都會自動建置、驗證及部署至 Code Engine 專案。

若要建立 開發 Code Engine 應用程式 工具鏈,請按一下

建立工具鏈

或者,從控制台 IBM Cloud 點擊選單圖示(漢堡圖示 )> 平台自動化 > 工具鏈。 在工具鏈頁面上,按一下建立工具鏈。 在「建立工具鏈」頁面中,點擊「開發應用程式 Code Engine」。

配置工具鏈名稱及地區

  1. 在「歡迎使用」畫面上,檢閱工具鏈設定的預設資訊。 在 IBM Cloud 中,可透過工具鏈名稱來識別工具鏈。 請確定工具鏈名稱在 IBM Cloud中相同地區及資源群組的工具鏈內是唯一的。

    工具鏈地區可能與叢集及登錄地區不同。

    Code Engine應用程式工具鏈名稱和區域
    Code Engine安全應用程式工具鏈名稱和區域

  2. 按一下啟動

配置應用程式原始碼儲存庫

  1. 在「應用程式」步驟中,依預設會顯示應用程式原始碼儲存庫的建議選項。 若要檢視基礎 Git 整合的所有可用選項,請按一下 進階選項。 依預設,工具鏈會使用預設範例,將範例應用程式複製為 IBM管理的 Git Repos and Issue Tracking 儲存庫。

    Code Engine安全應用程式儲存庫
    Code Engine Code Engine安全應用程式儲存庫

    您可以變更應用程式儲存庫的名稱。 儲存庫的地區仍與工具鏈的地區相同。

  2. 選用。 工具鏈範本提供 Sample Hello World Application 應用程式。 如果您要為工具鏈連結現有的 Application repo,請選擇 Bring your own app,並指定 repo 的 URL。 工具鏈只支援連結至現有的 Git Repos and Issue Tracking repos。

  3. 按一下繼續

預設情況下,應用程式儲存庫範本會複製至您的 Git Repos and Issue Tracking 組織。 若要變更組織,請啟用 進階選項 並指定儲存庫擁有者。

安全儲存密鑰

此工具鏈內的數個工具需要密碼,例如 IBM Cloud API 金鑰。 您必須安全地將所有密鑰儲存在密鑰儲存庫中,並在工具鏈需要時參照它們。

  1. 使用 IBM Cloud,您可以從各種密鑰管理及資料保護供應項目中選擇,以協助您保護機密資料並集中化密鑰。 在「密鑰」步驟中,您可以指定要在工具鏈中新增或移除哪些密鑰儲存庫整合。 如需新增及移除儲存庫整合 (包括必要條件及使用提示) 的相關資訊,請參閱 管理 IBM Cloud 密碼

    透過使用範本內的提示,工具鏈會自動移入預先配置的密鑰; 您不需要從附加至工具鏈的儲存庫整合中手動選取密鑰。

    本指導教學使用 IBM Secrets Manager 作為密鑰儲存庫。

    Code Engine安全應用程式機密選項
    Code Engine安全應用程式機密選項

    IBM Secrets Manager 可安全地儲存並套用密鑰,例如屬於工具鏈一部分的 API 金鑰、映像檔簽章或 HashiCorp 認證。

    Code Engine機密管理Secrets Manager選項
    Code EngineSecrets Manager選項

  2. 按一下繼續

有關在 IBM Key Protect 或 HashiCorp, 管理機密的詳細資訊,請參閱 機密

配置部署目標

配置要將應用程式部署至其中的目標 Code Engine 專案。 在應用程式通過建置、測試及掃描階段之後,管線會將建置的應用程式映像檔部署至目標 Code Engine 專案。 此部署現在已準備好進行驗收測試或整合測試。

  1. 如果 API 金鑰具有必要的存取權,則下列欄位會使用已建立、從儲存庫擷取或手動指定的 API 金鑰自動載入。 如果 API 金鑰有效,則會自動移入儲存器登錄區域及名稱空間叢集區域、名稱、名稱空間及資源群組的值。 您可以更新任何這些欄位,以符合您的配置。

    • 應用程式名稱: 應用程式的名稱。 預設應用程式名稱與您的工具鏈名稱相同。

    • IBM Cloud API 金鑰: 在數個作業中用來與 ibmcloud CLI 工具互動的 API 金鑰。 使用下列其中一種方法來指定您要使用的 API 金鑰:

      • 按一下金鑰圖示,以從您選擇的密鑰儲存庫匯入現有的 API 金鑰。
      • 複製並貼上現有的 API 金鑰。
      • 按一下 新建 以建立 API 金鑰。
      • 如果您沒有現有的 API 金鑰,請產生新的 api-key

      您可以立即將產生的 API 金鑰儲存至您選擇的現有密鑰儲存庫。

    • 容器登錄地區: 容器名稱空間所在的 Container Registry 地區。

    • 容器登錄名稱空間: 從相關聯 Container Registry 地區中的容器名稱空間清單中選取。

    • Code Engine 區域: Code Engine 專案所在的區域。

    • Code Engine 資源群組: 在其中建立 Code Engine 專案的「資源群組」。

    • Code Engine 專案: 在 Code Engine中建立的專案名稱。 您的應用程式已部署至此專案。

    滾動或藍綠的Code Engine安全應用程式部署目標詳細資料
    Code Engine安全應用程式滾動部署目標詳細資料

  2. 按一下繼續

新增選用工具整合

您可以將 IBM Cloud® DevOps Insights 工具整合新增至工具鏈,而不需要任何其他配置。

DevOps Insights 包含在已建立的工具鏈中。 您不需要提供 DevOps Insights的任何配置步驟。 連續整合管線會自動使用工具鏈中包含的 DevOps Insights 實例。DevOps Insights 會聚集程式碼、測試、建置及部署資料,以提供所有團隊及版本的速度及品質可見性。

按一下繼續

完成工具鏈設定

在「摘要」頁面上,按一下 建立工具鏈。 會自動執行數個步驟來設定工具鏈。

您可以在建立管線之後配置個別工具鏈整合。

Code Engine安全應用程式工具鏈摘要
Code Engine安全應用程式工具鏈摘要

探索您的新工具鏈

建立工具鏈之後,它會在圖表中顯示屬於工具鏈一部分的每一個工具整合。

探索管線

您可以探索管線,以瞭解工具鏈流程以及在每一個管線內執行的不同作業。 您建立的工具鏈包含下列管線:

  • 取回要求管線: 當開發人員合併從其開發分支到主要分支或儲存庫中任何其他分支的變更時執行。 取回要求管線會在「應用程式原始碼」上執行「單元測試」和「靜態掃描」。
  • 連續整合管線: 當您將變更合併至「應用程式原始碼」儲存庫的主要分支時執行。 持續整合管線會在「應用程式原始碼」、CIS 檢查及「資料清單 (BOM)」檢查上執行「單元測試」、「程式碼涵蓋面」及「靜態掃描」。 持續交付管線也會產生二進位建置構件,並將它們上傳至 IBM Cloud® Kubernetes Service,如工具鏈中所配置。 連續整合管線會產生建置構件的 meta 資料,並將它儲存在「庫存」儲存庫中。
  • 連續部署管線: 將 Code Engine 元件映像檔 (Continuous Integration Pipeline 會建置並部署) 部署至要在不同專案中管理的不同 Code Engine 元件。

執行取回要求及持續整合管線

若要啟動取回要求管線,請在應用程式儲存庫中建立合併要求:

  1. 在「工具鏈概觀」頁面上的 儲存庫 卡片上,按一下 secure-app-toolchain-code-engine-demo 應用程式儲存庫。
  2. 從主要儲存庫中,建立分支。
  3. 更新範例節點應用程式或 Readme 檔中的部分程式碼,並儲存這些變更。
  4. 提交合併要求。
  5. 在「工具鏈概觀」頁面的 Delivery Pipelines 卡片上,按一下 pr-pipeline 管線,以開啟取回要求管線儀表板。 應用程式儲存庫中的對應合併要求會保持擱置狀態,直到取回要求管線的所有階段順利完成為止。
  6. 在取回要求管線執行成功之後,您可以選取它來探索已完成的步驟。

拉取請求管道成功
拉取請求管道成功

若要啟動持續整合管線,請在應用程式儲存庫中合併持續整合合併要求:

  1. 移至合併要求。

  2. 合併要求,以便將變更複製到應用程式儲存庫的主要分支。 持續整合管線會自動觸發。

  3. 在「持續整合工具鏈概觀」頁面上的 Delivery Pipelines 卡片上,按一下 ci-pipeline 管線,以開啟持續整合管線儀表板。

  4. 在連續整合管線執行成功之後,您可以按一下管線執行,以探索已完成的步驟。

    持續整合管道成功
    持續整合管道成功

  5. 展開 deploy-component 作業,然後按一下 execute 步驟。 選取 Logs 標籤,並捲動至日誌結尾。 按一下已部署 Code Engine 應用程式的鏈結,以檢視執行中應用程式。

下一步

如果您要將 Code Engine 元件 (Continuous Integration Pipeline 會建置並部署) 部署為另一個元件,以在另一個 Code Engine 專案中進行管理,請遵循下列步驟:

  1. 在「持續整合工具鏈概觀」頁面上的 Delivery Pipeline 卡片上,按一下 cd-pipeline 管線,以開啟持續部署管線儀表板。

  2. 按一下 執行管線,以啟動 cd-manual-run 觸發程式。

  3. 連續部署管線執行成功之後,您可以按一下管線執行,以探索已完成的步驟。

    持續部署管道成功
    持續部署管道成功

  4. 展開 deploy-component 作業,並按一下 執行 步驟。 按一下 日誌 標籤,並捲動至日誌結尾。 按一下已部署 Code Engine 應用程式的鏈結,以檢視執行中應用程式。

如果您想要移除在 Code Engine上執行的範例應用程式,請遵循下列步驟:

  1. 移至 Code Engine 專案 頁面。

  2. 按一下範例應用程式執行所在的專案。

  3. 選取 應用程式,然後選取範例應用程式的勾選框。

  4. 按一下刪除

正在尋求協助嗎?

IBM Cloud 的 AI 助手,它由 IBM 的 watsonx 驅動,旨在幫助您瞭解在 IBM Cloud 工作,並利用可用產品和服務目錄來建立解決方案。 請參閱 取得 AI 助理的協助

如需其他支援選項,請參閱 取得 Continuous Delivery的協助及支援