wunderio / lando-drupal
Wunder为Lando Drupal项目提供的可扩展模板。
Requires
- composer-plugin-api: ^2.0
- drupal/core: ^10
Requires (Dev)
- composer/composer: ^2.0
- dev-main
- 0.7.0
- 0.6.1
- 0.6.0
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.1
- 0.1.0
- dev-feature/46-refactor-folder-structure--add-dist-folder
- dev-feature/#46-refactor-folder-structure--add-dist-folder
- dev-feature/44-Implement-ddev-snapshot-tooling-in-Lando
- dev-hotfix/40-fix-error-with-missing-load_extensions-sh-on-rebuild
- dev-hotfix/#40-fix-error-with-missing-load_extensions-sh-on-rebuild
- dev-feature/35-Add-documentation-about-build-steps
- dev-feature/20-add-elasticsearch-extension
- dev-feature/22-fix-local-alias
- dev-feature/#22-fix-local-alias
- dev-feature/#20-add-elasticsearch-extension
- dev-feature/#20-add-removal-of-extensions
- dev-feature/20-add-extensions
- dev-feature/#24-Fix-run-scripts-sh
- dev-feature/#18-Load-also-custom-env-file
- dev-feature/#14-Add-Lando-Adminer-service
- dev-feature/#12-Move-DRUSH_OPTIONS_URI-to-env-file
- dev-feature/#10-Fix-env-file-path
- dev-feature/#8-We-should-not-move-recipe-line-from-lando-yml
- dev-feature/#6-Limit-the-template-to-Drupal-10
- dev-feature/#3-Allow-overriding-scripts
This package is auto-updated.
Last update: 2024-09-23 15:10:31 UTC
README
这是一个为Lando Drupal项目定义基础Lando设置的模板。它创建 .lando.base.yml 文件和 .lando/core/ 文件夹。您仍然需要 .lando.yml 来定义最小化的 name 和 recipe 参数。
安装
-
将您的当前 .lando/* 文件移动到 .lando/custom/ 并更改 .lando.yml 中的引用。下一步将添加新的 .lando/core/ 文件夹。
-
安装composer包
composer require wunderio/lando-drupal --dev
-
将更改添加到GIT
git add .lando/core/ && git add .lando/custom/ && git add drush/sites/ && git add .lando.base.yml && git add -p composer.json composer.lock
-
根据您的项目,创建或更新您的 .lando.yml。
如果您正在创建新的项目,则需要创建包含以下内容的 .lando.yml 文件
name: your-project-name recipe: drupal10
如果您的 .lando.yml 已经存在,则删除 .lando.base.yml 中存在的任何内容。
-
可选地启用自定义扩展,例如node,然后重新构建Lando
lando load-wunderio-lando-drupal-extensions node lando rebuild
所有可用的扩展都列在 https://github.com/wunderio/lando-drupal/tree/main/extensions
-
由于无法从 .lando.yml 覆盖它们,我们需要迁移构建步骤。例如,在当前的设置中,在 .lando.base.yml 文件中我们有以下内容
services: appserver: build: - "/app/.lando/core/_run-scripts.sh services-appserver-build.sh"
上述代码执行了来自 .lando/core/ 文件夹的 services-appserver-build.sh 脚本,并运行 composer install。
如果现在在您的 .lando.yml 中您也有相同的构建步骤中的 composer install,那么它也会被执行。基本上Lando会将命令堆叠在构建步骤中。
services: appserver: build: - "composer install"
为了解决这个问题,建议的做法是从 .lando.yml 中删除构建步骤。取而代之的是,将 .lando/core/services-appserver-build.sh 文件复制到您的 .lando/custom/ 文件夹。然后,根据您的偏好进行自定义。在 .lando.base.yml 中的这一行 - '/app/.lando/core/_run-scripts.sh services-appserver-build.sh' - 将首先检查 services-appserver-build.sh 是否存在于 .lando/custom/ 文件夹中。如果没有找到,它将从 .lando/core/ 中执行它。
概述
配置概述
- 名称: drupal-project
- 食谱: drupal10
PHP和Web服务器
- PHP版本 8.1
- Web服务器: Nginx
- Webroot: web
数据库
- 数据库版本: MariaDB 10.3
Composer
- Composer版本 2
Xdebug
- Xdebug模式: 关闭(通过
lando xdebug
命令启用)
自定义配置文件
- 自定义PHP配置文件:.lando/core/php.ini
- 自定义数据库配置文件:.lando/core/my.cnf
工具命令
- composer: 运行Composer命令。
- grumphp: 运行GrumPHP命令。
- phpunit: 使用自定义选项运行PHPUnit命令。
- regenerate-phpunit-config: 生成新的PHPUnit配置。
- varnishadm: 运行varnishadm命令。
- xdebug: 以所选模式加载Xdebug。
定义为脚本的工具命令(.lando/core/tooling-*.sh 文件)可以通过将它们添加到 .lando/custom/ 文件夹中并用相同的名称覆盖。
- .lando/core/tooling-phpunit.sh
- .lando/core/tooling-regenerate-phpunit-config.sh
- .lando/core/tooling-xdebug.sh
服务
- appserver: 主要应用程序服务器的配置。
-
- 将时区设置为 "Europe/Helsinki"。
-
- 定义环境变量,包括 HASH_SALT、ENVIRONMENT_NAME、DB_NAME_DRUPAL、DB_USER_DRUPAL、DB_PASS_DRUPAL、DB_HOST_DRUPAL、DRUSH_OPTIONS_URI、VARNISH_ADMIN_HOST、XDEBUG_MODE 和 PHP_IDE_CONFIG。
-
- 提供无头 Chrome 的 PHPUnit 设置。
- adminer: Adminer 数据库管理工具.
- chrome: 运行 Chrome WebDriver 的配置。
- mailhog: 邮件测试工具 MailHog 的配置。
- proxy: 代理设置的配置。
定义为脚本(.lando/core/services-*.sh 文件)的服务命令可以被添加到 .lando/custom/ 文件夹中的同名文件覆盖。目前有 2 个脚本
- .lando/core/services-adminer-run-as-root.sh
- .lando/core/services-appserver-build.sh
自定义事件
- post-db-import: 数据库导入后重建 Drupal 缓存并登录本地用户的自定义事件。
环境文件
- 使用位于 .lando/contrib/.env 的环境文件。
Lando 版本
- 已测试与 Lando 版本 v3.18.0 兼容。
注意
- 此 Lando 配置是为 Drupal 10 项目设计的。
- 它包括自定义 PHP 和数据库配置文件。
- 提供 Composer、GrumPHP、PHPUnit、Varnishadm 和 Xdebug 的工具命令。
- 为主应用程序服务器、Chrome WebDriver 和 MailHog 配置了服务。
- 定义了数据库导入后执行操作的自定义事件。
- 配置已在 Lando 版本 3.18.0 上测试。
- 请确保根据您的具体项目和环境调整任何路径或配置。
实验性
快照工具
基于 DDEV 快照工具,我们在此也添加了实验性工具。这远不是一个像 DDEV 中的那样完整的工具集。希望有一天它会被正式添加到 Lando 中——我们已在 lando/mariadb#37 上创建了一个问题
创建命名快照
lando snapshot --name foobar
或创建带时间戳的快照
lando snapshot
恢复名为 foobar 的快照
lando snapshot restore foobar lando restart