Cloud Shell 適用的 Cloud Code 中的 Skaffold 模組

Skaffold 是一項指令列工具,可協助持續開發 Kubernetes 原生應用程式。Skaffold 會處理建構、推送及部署應用程式的工作流程,並提供建立 CI/CD 管道的構件。Skaffold 是 Cloud Code 的引擎。

Skaffold 專案通常會開始使用單一 skaffold.yaml 設定,說明如何建構及部署應用程式。隨著專案規模擴大,將應用程式管道分割為個別部分可能會很有幫助。

Skaffold 支援定義多個設定依附元件,這些依附元件可以放在同一個 skaffold.yaml 檔案中,並使用 YAML 文件分隔符 (---) 分隔,也可以放在由較高層級 skaffold.yaml 檔案參照的個別 skaffold.yaml 檔案中。您可以使用 .metadata.name 欄位為設定命名,將其設為模組

使用模組可讓您獨立開發及偵錯應用程式的部分內容。您可以在設定檔之間定義相依性,並將相依性指向特定模組。如要瞭解如何使用這項功能,請參閱「獨立開發應用程式的某些部分」。

使用 Skaffold 模組偵錯應用程式

您可以逐步開發及偵錯整個應用程式或一組已定義的模組。Skaffold 會管理模組依附元件及其部署順序。

開始使用 Skaffold 模組範例

如要為應用程式選取模組,請參閱「建構特定 Skaffold 模組及其依附元件」。

如果您尚未使用 Skaffold 模組,但想透過範例測試這項功能,請參閱留言板範例,該範例已模組化為 frontendbackend

如需大型企業應用程式範例,請參閱使用各種技術和語言,並使用 Skaffold 模組開發的 Bank of Anthos 範例

常見用途

本節將概略說明一些常見用途範例,說明在 IDE 中使用模組的不同情況和使用方式。

微服務開發

您是前端開發人員,主要負責 frontend 模組。frontend 是微服務,因此不會對 backend 存放區有明確的程式碼或程式庫依附元件,但需要在叢集中部署並執行 backend

您會使用含有 frontend 模組定義的 Skaffold 專案,從 Cloud Code IDE 部署及偵錯,並將結果傳送至後端團隊也部署服務的共用開發叢集。開發運作團隊會維護這個共用叢集。

您大多不會使用或偵錯 backend 程式碼,也不會更新 Kubernetes 設定。Skaffold 會建構並部署 frontend 所需的其他設定。您可以設定 Cloud Code 部署設定,只對 frontend 模組進行疊代。

您也可以將 frontendbackend 部署至本機叢集,以便加快迭代作業。

跨界微服務開發和偵錯

如需同時對多個微服務進行偵錯,您可以:

  • 開啟父目錄,其中包含所有子目錄,這些子目錄與模組原始碼的相對位置
  • 選取部署 (設定) 的根 skaffold.yaml 檔案
  • 設定 Cloud Code 部署設定,只對本機可用的 frontendbackend 模組進行疊代 (以及 Kubernetes 設定模組的變更內容)。

您也可以為本機開發作業建立獨立的根 skaffold.yaml 檔案,其中包含靜態資料伺服器。

智慧型模組 YAML 編輯

您是 DevOps 工程師,為使用 Skaffold 模組的微服務開發團隊建構範本存放區。您想確保模組定義中沒有錯誤,而無須手動執行 Skaffold (例如循環依附元件或不重複的模組名稱)。您可以使用 Cloud Code IDE 編輯 Skaffold YAML 設定檔。

後續步驟