警告
Garden 0.12.x EOL: Garden Acorn ( 0.12.x
) 將在 2024 年 6 月 30 日之前收到安全更新。見公告。
如果您喜歡 Garden,請為這個儲存庫加註星標以表示您的支持。尋求支持?加入我們的不和諧。
快速入門 • 網站 • 文件 • 範例 • 部落格 • Discord
Garden 是一款 DevOps 自動化工具,可更快地開發和測試 Kubernetes 應用程式。
按需啟動類似生產的環境以進行開發、測試和 CI
對軟體交付的每個階段使用相同的配置和工作流程
透過智慧型緩存加速建置和測試運行。
開始使用 Garden 最快的方法是遵循我們的快速入門指南。
有關 Garden 的全面介紹和綜合文檔,請訪問我們的文件。
Garden是透過garden.yml
檔案配置的。對於大型項目,您可以拆分檔案並將它們與堆疊的相關部分放在一起,甚至可以跨多個儲存庫。
Web 應用程式的(簡化的)Garden 配置如下所示:
種類:部署名稱:dbtype:helmspec:圖表:名稱:postgresrepo:https://charts.bitnami.com/bitnami---kind:建置名稱:apitype:containersource:路徑:./api---kind:部署名稱:apitype: kubernetes依賴項:[build.api,deploy.postgres]規格:檔案:[./manifests/api/**/*]---kind:測試名稱:integtype:容器依賴項:[deploy.api ]規格:args:[npm,運行,測試:integ]
您可以使用以下方式建置和部署該專案:
花園部署
....並測試它:
花園測試
要為每個拉取請求建立預覽環境,您需要將以下內容新增至 CI 管道:
花園部署--env預覽
Garden 還有一種稱為「同步模式」的特殊模式,它可以即時重新載入對正在運行的服務的變更 - 確保在開發時實現極快的回饋。要啟用它,請運行:
花園部署--同步
您也可以啟動互動式開發控制台(請參閱上面的螢幕截圖),您可以使用以下命令建置、部署和測試您的專案:
花園開發
堆疊圖是 Garden 的關鍵功能,可實現高效的開發、測試和 DevOps 自動化。堆疊圖可讓您聲明專案的依賴結構並追蹤更改,以避免不必要的建置、部署和測試運行。它就像 CI/CD 配置,您也可以將其用於開發。如果沒有堆疊圖,許多將 Garden 與其競爭對手區分開來的功能將無法實現,或者效率會低得多。
有效率地建置和部署: Stack Graph 允許 Garden 確定專案的哪些部分已更改並需要重新建置或重新部署,從而避免不必要的工作並加快開發過程。
自動化測試:借助堆疊圖,Garden 可以自動對專案中已更改的部分執行測試。這可以節省時間,因為依賴關係圖的所有部分都是已知的並已快取。
DevOps 自動化: Stack Graph 讓 Garden 自動化 DevOps 流程的許多方面,包括建置、測試和部署專案。
有關堆疊圖以及 Garden 工作原理的更多信息,請參閱:
花園如何運作
堆疊圖影片導覽和入門指南
Garden 是可插入的:如何執行操作取決於所使用的外掛程式。我們的 Kubernetes 插件目前最受歡迎,其次是我們的 Terraform 和 Pulumi 插件。有關 Garden 及其外掛程式的更全面介紹,請造訪我們的文件:
Kubernetes 插件
地形插件
普魯米插件
加入我們的 Discord 社群提出問題、提供回饋或只是打個招呼?
花園接受捐款!請參閱我們的貢獻指南以獲取更多資訊。
Garden 根據 Mozilla 公共授權 2.0 (MPL-2.0) 獲得許可。