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 模組,想透過範例測試這項功能,請參閱留言板範例,該範例已模組化為 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 設定檔。

取得支援

如要在 IntelliJ IDE 中提供意見回饋或回報問題,請依序前往「Tools」 >「Cloud Code」 >「Help / About」 >「Submit feedback or report an issue」,在 GitHub 上回報問題。