警告
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) 获得许可。