如何使用 Lando 加速 Drupal 开发
已发表: 2023-01-03现在有许多可用的开发环境选项,例如 DDev 和 DockSal,但出于某些原因,我们通常建议将 Lando 用于 Drupal 设置。
Lando 易于使用、便携且快速。 Lando 可以在任何地方运行任何东西! 它是最平易近人的 Devops 工具,多年来一直很受欢迎。 描述 Lando 的一个简单方法是它的自动化环境设置允许更容易的开发。
在本文中,我们将讨论 Lando、它的设置、体系结构,以及如何将 Lando 配方与 Drupal 一起使用,以及 Lando 配置。 那么,让我们开始吧!
兰多是什么?
Lando 是一个免费开源的本地开发环境 DevOps 工具,基于 Docker 构建。 它与 OSX、Windows 和 Linux 上的本地环境兼容。 使用Lando,您可以毫不费力地准备各种类型的服务和工具。 此外,Lando 允许您为每个项目设置不同的服务,而不会影响在 Lando 上运行的其他项目。
作为开发人员,在服务和工具代码库中设置配置以及需要运行的应用程序配置变得非常容易。 设置完成后,开发人员可以进入存储库以运行 Lando 并开始在完全隔离的情况下处理项目,而不会影响其开发环境的一致性。
Lando 是如何工作的,您为什么要使用它? (兰多食谱和 Drupal)
您已经知道 Lando 是什么以及它与 Drupal 的兼容性。 现在,由于你们中的一些人可能熟悉 Docker,您可能想知道 Lando 和 Docker 有多么相似。 Lando setup配置类似于Docker compose,隔离开发环境类似于Docker容器。
但是这样的相似性提出了一个问题:当你安装了 Docker 时,Lando 有什么意义呢? 原因如下:
- Lando 使您能够在预定义配方的帮助下更有条理地使用 Docker 容器。
- 当 docker 容器环境与 Lando 配方不兼容时,您可以通过定义 Lando 服务轻松定义容器。 您无需键入 docker exec 命令或设置 Dockerfile 即可执行此操作。
- 在受益于本地开发网络的同时,您可以使用自己的自定义 docker compose 文件而不是 Lando 配方。
- 此外,您可以对每个容器使用 SSL 处理,为您的服务设置代理和自定义 URL,并使用简单的构建和运行步骤。
如果您在了解 Lando for Drupal 9 的系统要求和安装方面需要帮助,请在此处参阅我们的博客。
配置 Lando 食谱
配方是服务、代理和工具的组合,设计为特定用例的正常启动默认设置。 Lando 的食谱是 Lando 的最高抽象,包含服务、事件和工具的常见组合。
服务是简化但高度可配置的 docker 容器。 他们可以运行构建步骤,例如安装 PHP 扩展或运行 yarn install。 工具允许用户在调用时运行任意命令或命令组合或服务组合。 它们非常有用,而且使用起来超级简单。
Config 允许您设置您的食谱提供的一些更重要的东西。 使用 Lando,您可以根据您的要求进行配置和更改。
为了更好地理解,让我们更深入地了解 Lando 服务和工具。
兰多服务
Lando 服务是简化且高度可配置的 Docker 容器。 他们应该能够运行构建步骤并且可以被覆盖到低级别。 服务获得自动联网和安全功能。
一些最有用的服务是:
- 弹性搜索/解决方案
- 邮寄狂
- 节点
- Myadmin
- 雷迪斯
- 内存缓存
- 漆
服务 - 构建步骤
如果您需要额外的服务器依赖项,如 PHP 扩展或节点模块,这听起来像是一个构建步骤。
有四个主要的构建步骤:
- “构建”:以“你”的身份运行,在你的服务启动之前
- “Build_as_root”:在你的服务启动之前以 root 身份运行
- “运行”:以“你”的身份运行,并在你的服务启动后运行
- “run_as_root”:以 root 用户身份运行,并在您的服务启动后运行
如何执行这四个主要步骤?
- 在启动应用程序之前使用 build 安装所需的应用程序依赖项
- 使用 build_as_root 安装应用程序所需的低级服务器包
- 使用运行来安装应用程序依赖项或运行需要先启动应用程序的构建步骤
- 将 run_as_root 用于任何其他启动后根级别的一次性设置命令。
事件
事件允许用户在 Lando 运行时的某些部分之前或之后运行任意命令。 简而言之,您可以在某事发生之前或之后自动执行您可能经常或总是运行的命令或任务。 Lando 和 App 运行时事件可以挂接到前置或后置事件中。
您还可以挂钩所有工具命令的前置和后置事件。
为 Lando 应用程序添加工具
工具允许您在任意服务上运行任意命令。 每个 Lando Drupal 配方都附带有用的开发实用程序。 这些是 Lando 帮助页面上显示的命令,例如
- 兰多PHP
- 兰多mysql
- Lando 数据库导入
- Lando 数据库导出
在这里,使用工具,我们可以创建自定义命令,并可以定义这些命令将在内部执行的操作以及在哪些容器上执行的操作。 这些也有助于我们将某些服务直接暴露给开发人员并自动化流程。
工具 - lando drupal-check
每当我们执行此命令时,它都会进入应用程序服务器服务并运行命令以查看代码是否符合 Drupal 标准。 如果没有,它将显示相应的错误消息。
工具 - lando xdebug-on
此命令将在应用服务器上设置并启用 xdebug-on 以进行调试。
资料来源:https://docs.lando.dev/core/v3/
最后的想法
为您的 Drupal 网站设置 Lando 后,您可以创建自定义服务和食谱,并为您的服务使用特定的 docker 镜像。 Lando 允许您与不同的服务器配置和 CI/CD 集成。 此外,您还可以学习自动化测试,以在 Drupal 中推进您的 Lando 食谱。
Lando 和 Drupal 融合得很好。 如果您已经熟悉 Docker 和 docker compose,为您的 Drupal 网站设置 Lando 并使用它的配方,将事件、服务和工具结合起来对您来说会非常容易,或者,您可以聘请专业的 Drupal 开发机构来查看进入 Lando 设置和开发您的 Drupal 网站的整个过程。
觉得这篇文章有用? 这是本文的一个非常小的 URL,供您复制、嵌入或共享:
bit.ly/3WyZNoB
单击以将 URL 复制到剪贴板