如何使用 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 複製到剪貼板