Garden.io:它是什么以及为什么要使用它?

1,874 阅读6分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 20 天,点击查看活动详情

准备好简化您的开发和运营流程了吗?在这份全面的指南中,我们将深入探讨 Garden.io 所提供的一切,从其强大的功能到其用户友好性。您不会想放弃 Garden.io 可以为您的应用程序带来的效率和生产力提升,无论它们的复杂程度如何。

什么是 Garden.io?

Garden.io 是一个云原生应用程序开发、测试和部署平台。它在名为“garden.yml”的配置文件中定义应用程序的构建和部署过程。它兼容包括JavaScript在内的多种编程语言,可用于使用React、VueJS、NodeJS等前后端技术开发的项目。

Garden.io 的开发是为了满足对管理和部署应用程序的标准化和适应性方法的需求,特别是在大型和复杂的环境中。它的创建是为了支持多种语言和框架,易于使用,可与 Docker 和 Kubernetes 等知名工具连接,并且非常灵活。

该平台自推出以来在开发人员中越来越受欢迎。
随着不断添加新功能和集成以满足公司和开发人员的需求,它不断扩展并变得更好。

动图布伦特兰博竖起大拇指模因

听起来很酷,对吧?😉

🤔 为什么要使用它?

我会给你一些为什么你应该在你的项目中使用 Garden.io 的理由:

  • Garden.io 允许您在单个配置文件中描述所有应用程序的依赖项、构建过程和部署配置,从而简化复杂的应用程序管理。
  • 通过为您提供定义管道构建、测试和部署方法的配置文件,使构建、测试和部署代码的整个过程自动化,CI/CD 流程得到简化。
  • Garden.io 可让您为项目设计一致的工作流程,包括用于开发、测试和交付代码的工具和流程。这可确保您的所有项目都遵守同一套标准和程序。
  • 它支持多种语言和框架,包括 Node.js、Python 和 Java,使其成为用于管理和部署应用程序的多功能且适应性强的解决方案。

让我们看一些有助于您更好地理解工作流的原则。

🤽‍♀️ DevOps

DevOps 是一种软件工程方法,它强调软件开发人员和信息技术 (IT) 专家之间的合作和沟通,同时实现软件交付和基础架构变更的自动化。
它旨在缩短开发生命周期并实现高质量软件的持续交付。

🔮 CI/CD

ci/cd热狗

持续集成/持续部署简称为 CI/CD。它是一种试图提高软件交付速度、质量和可靠性的软件开发方法。

持续集成 (CI) 是一种频繁地将代码更改合并到中央存储库的技术,通常每天多次。这有助于开发人员在开发过程的早期识别和解决问题,而不是等到问题可能更难解决的后期阶段。

持续部署 (CD) 通过自动化将代码更改交付到生产的过程来扩展 CI。这意味着如果进行更改并成功集成到中央存储库中,它会立即部署到生产环境中,无需任何手动参与。

⚙️ 安装 Kubernetes、Docker 和 Garden.io

要使用 Garden.io,您必须首先在您的机器上安装 Kubernetes 和 Docker。您将需要这些,因为 Garden.io 依赖 Docker 和 Kubernetes 来管理和部署容器化应用程序。

📦 Kubernetes

使用 NPM 安装 Kubernetes:

npm install -g kubernetes-cli

使用 Yarn 安装 Kubernetes:

yarn global add kubernetes-cli

使用 Homebrew 安装 Kubernetes:

brew install kubernetes-cli

🐳 Docker

使用 NPM 安装 Docker:

npm install -g docker

使用 Yarn 安装 Docker:

yarn global add docker

使用 Homebrew 安装 Docker:

brew install docker

Garden.io

后面的工具安装完成后,就该安装 Garden.io 了。

brew tap garden-io/garden
brew install garden-cli
安装脚本
curl -sfL https://git.io/get-garden | sh -s -- -b /usr/local/bin

上面的说明是为 MacOS 设计的,但如果您使用的是 Windows 或 Linux,您可以在文档中阅读更多内容:https ://docs.garden.io/getting-started/1-installation 。

gardenio安装完成终端

Garden.io 完成安装后,您应该会看到一个漂亮的终端,如上图所示!🤩

👨‍💻 设置 Garden.io

为了在您的项目中设置 Garden.io,请运行以下命令:

garden init

然后,通过将以下示例添加到garden.yml文件中来配置项目,该文件是指定服务、任务、测试等的文件:

services:
  web:
    build: .
    ports:
      - target: 3000
        published: 3000
        protocol: tcp

Garden.io 的配置现已完成(当然,基于您项目的具体需求)。

🚧 构建应用程序

在您的项目中设置 Garden.io 的配置后,您现在可以通过导航到项目目录并运行以下命令来运行它:

garden start

现在您已经在项目中设置、配置了 Garden.io 并且正在运行,Garden 将启动项目并为您在garden.yml文件中定义的每个服务创建一个容器。如果您http://localhost:3000在浏览器中访问,您应该能够访问您的项目!🎉

🧪 测试应用程序

为了在您的 Garden.io 中设置测试(因为测试也很重要,对吗?😉),您可以首先在garden.yml文件中设置一个名为tests.

tests:
  my-tests:
    service: web
    command: npm run test

在这里,您可以定义项目所需的特定测试。然后,当您运行以下命令时,您应该能够看到正在运行的测试套件:

garden test

例如,此测试将npm run testweb服务中运行。看?在 Garden.io 中进行测试就像吃一片披萨一样简单!🍕

🚚 部署

现在的问题是:“如何使用 Garden.io 部署项目?” 🤔嗯,这也很简单!😀

您可以通过在garden.yml文件中创建目标环境部分来将其部署到各种云提供商和 Kubernetes 集群:

target:
  name: my-kubernetes-cluster
  provider: kubernetes

在这个例子中,我们指定目标环境是一个名为 的 Kubernetes 集群my-kubernetes-cluster。请注意,您需要kubectl在您的机器上安装并有权访问它才能部署到 Kubernetes 集群。

然后,您运行以下命令来部署它:

garden deploy

完成这些步骤后,Garden.io 将开始部署过程并在您的云提供商或 Kubernetes 集群中创建必要的资源。可以在你可爱的终端陪伴部署状态🥰

动图部署终端笔记本电脑

然后,为了访问您部署的项目,打开部署环境的 URL 或 IP 地址,具体取决于您使用的特定云提供商或 Kubernetes 设置。完成这些步骤后,您可以看到 Garden.io 在设置、测试和部署您的项目时是多么容易使用😁

🌻 官方文档

🪴 Garden.io 的官方文档可在此处找到:https ://docs.garden.io/ -
它涵盖了您需要的所有详细信息。

玫瑰美学

他们写了多么漂亮的文档!👏