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 模組,但想透過範例測試這項功能,請參閱留言板範例,該範例已模組化為 frontend
和 backend
。
如需大型企業應用程式範例,請參閱使用各種技術和語言,並使用 Skaffold 模組開發的 Bank of Anthos 範例。
常見用途
本節將概略說明一些常見用途範例,說明在 IDE 中使用模組的不同情況和使用方式。

微服務開發
您是前端開發人員,主要負責 frontend
模組。frontend
是微服務,因此不會對 backend
存放區有明確的程式碼或程式庫依附元件,但需要在叢集中部署並執行 backend
。
您會使用含有 frontend
模組定義的 Skaffold 專案,從 Cloud Code IDE 部署及偵錯,並將結果傳送至後端團隊也部署服務的共用開發叢集。開發運作團隊會維護這個共用叢集。
您大多不會使用或偵錯 backend
程式碼,也不會更新 Kubernetes 設定。Skaffold 會建構並部署 frontend
所需的其他設定。您可以設定 Cloud Code 部署設定,只對 frontend
模組進行疊代。
您也可以將 frontend
和 backend
部署至本機叢集,以便加快迭代作業。
跨界微服務開發和偵錯
如需同時對多個微服務進行偵錯,您可以:
- 開啟父目錄,其中包含所有子目錄,這些子目錄與模組原始碼的相對位置
- 選取部署 (設定) 的根
skaffold.yaml
檔案 - 設定 Cloud Code 部署設定,只對本機可用的
frontend
和backend
模組進行疊代 (以及 Kubernetes 設定模組的變更內容)。
您也可以為本機開發作業建立獨立的根 skaffold.yaml
檔案,其中包含靜態資料伺服器。
智慧型模組 YAML 編輯
您是 DevOps 工程師,為使用 Skaffold 模組的微服務開發團隊建構範本存放區。您想確保模組定義中沒有錯誤,而無須手動執行 Skaffold (例如循環依附元件或不重複的模組名稱)。您可以使用 Cloud Code IDE 編輯 Skaffold YAML 設定檔。