mstrelan / drupal-contrib
Drupal contrib 的 Composer 项目
Requires
- composer/installers: *
- drupal/core: *
- drupal/core-composer-scaffold: *
- drupal/drupal: *
- drush/drush: ^11 || ^12 || ^13
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-28 06:38:28 UTC
README
先决条件
- Composer
- Docker / Docker compose
- PhpStorm(可选)
入门
要开始,请运行以下命令
composer create-project mstrelan/drupal-contrib
目录结构
- app/ - 这是网站根目录。Drupal 仓库将被检出到这里。
- assets/scaffold/files/ - 将通过 composer 复制的文件。
- bin/ - 供应商二进制文件放在这里。
- src/ - composer 使用的脚本。
- vendor/ - composer 供应商目录。
Docker compose
通过运行 docker-compose up
或 make start
启动堆栈。
您可以通过复制 .env.dist
到 .env
来覆盖端口号和其他环境变量。
以下服务可用
- nginx - 网络服务器
- php-fpm - 服务器 Drupal 网站
- php-cli - 与 Drupal 网站交互的 CLI 容器
- mysql - 空数据库容器
- chrome - 用于运行 webdriver 测试
Makefile 目标
Make 命令应在主机上执行。
clean
- 运行 composer install,安装最小配置文件并提供一次性登录链接start
- 启动堆栈stop
- 停止堆栈stop-php
- 停止 php 容器minimal
- 使用最小配置文件安装 Drupalstandard
- 使用标准配置文件安装 Drupalumami
- 使用 demo_umami 配置文件安装 Drupallogin
- 获取一次性登录链接switch
- 切换分支,例如make BRANCH=9.3 switch
10.2|10.3|10.4|11.0|11.x
- 提供指定 Drupal 版本的干净环境php8.1|php8.2|php8.3
- 使用指定 php 版本启动堆栈
PhpStorm 配置
首次安装时,您将被询问是否要配置 PhpStorm。这将配置远程 PHP 解释器、PHPUnit 和调试路径映射。
远程解释器假定您已经配置并启用了 Docker 集成。请参阅 PhpStorm 文档中的 启用 Docker 支持 部分以设置此功能。
运行测试
如果您选择自动配置 PhpStorm,则应在 PhpStorm 中点击每个测试旁边的绿色三角形。
或者,您可以在命令行中像这样运行 phpunit
docker-compose exec php-cli bash
phpunit -c app/core/phpunit.xml.dist app/core/tests/Drupal/Tests/Core/DrupalKernel/
调试
可以通过 Xdebug 辅助浏览器扩展启用 HTTP 请求的 Xdebug
- Firefox - Xdebug Helper for Firefox
- Chrome - Xdebug Helper
对于包括 drush 和 phpunit 的 CLI 脚本,使用 XDEBUG_SESSION=1
。例如
您还可以通过在 PhpStorm 中点击测试旁边的运行测试按钮并选择调试来直接在 PhpStorm 中切换 Xdebug 以进行调试测试。
docker-compose exec php-cli bash
XDEBUG_SESSION=1 phpunit app/core/tests/Drupal/Tests/Core/DrupalTest.php --filter=testSetContainer
使用 Selenium 和 VNC 调试 WebDriver 测试
.env.dist 文件包含了如何配置 selenium
服务以使用 Chrome 或 Firefox 在调试模式下的示例。这会暴露一个 VNC 端口(默认为 5900),您可以通过连接到该端口来查看浏览器中运行的测试。使用 Remmina 或 VNC Viewer 等VNC客户端,只需连接到端口 127.0.0.1:5900
并使用密码 secret
。如果您已更改了 VNC_PORT
环境变量,请确保连接到该端口。
Mailpit
mailpit 服务可用且已配置为捕获从网站发送的电子邮件。您可以通过 http://localhost:8025 访问。更多信息请参阅 https://github.com/axllent/mailpit。
贡献
一旦您开始运行,您将在应用程序目录中检出 Drupal 核心代码。从这里,您可以为每个您正在处理的 issue 创建一个新的分支。