tylerfahey / docksal-pack
该软件包的最新版本(dev-master)没有可用的许可证信息。
将 Docksal 集成到您的 Drupal 网站中。
dev-master
2024-05-31 18:50 UTC
This package is auto-updated.
Last update: 2024-08-31 00:33:20 UTC
README
安装 Docksal
https://docs.docksal.io/getting-started/setup/
可选:为 Pantheon 安装 Terminus
https://pantheon.io/docs/terminus/install
可选:在您的 .zshrc
/ .bash_profile
shell 中设置别名
使用 docksalize
shell 快捷方式快速设置新项目:alias docksalize=git clone https://github.com/twfahey1/docksalize.git .docksal
配置 docroot
- 如果您将站点放在另一个文件夹中,例如
web
,请将其设置为docksal.env
中的DOCROOT
设置。否则,保留默认的.
设置。
初始化容器。
fin up
有用的容器命令
fin bash
- 通过 SSH 进入容器并在 CLI 容器中运行命令。fin project reset
- 删除并重新启动容器,将清除数据库,但对于遇到错误状态的環境很有帮助,例如切换容器映像、损坏数据库等。fin db create [ whatever ]
- 在数据库容器内创建一个新的数据库。默认情况下将有一个,但在某些应用程序需要添加次要数据库的情况下fin db import --db=[' whatever '] [ path_to_db ]
- 与上述内容相关,将 DB 转储导入项目 DB 容器中的特定数据库。
Drupal:运行适当的 init-site
命令
- 如果您使用的是 Drupal 7,请运行
fin init-site-d7
,对于 D10+,请运行fin init-site
。这将复制适当的settings.local.php
并尝试在settings.php
中配置以包括settings.local.php
。有关更多信息,请参阅命令定义。
Drupal:运行测试
- 对于首次设置,运行
fin test-init
。这将复制.docksal/drupal/testing-defaults
文件夹中的默认文件,并将它们更新为与当前 Docksal 虚拟主机匹配。 - 有 2 个命令用于运行测试 -
test
,用于功能测试,以及test-js
,用于基于 JavaScript 的测试。更多详细信息可以在命令文件本身中找到 -.docksal/commands/test
和.docksal/commands/test-js
。它们的功能基本相同,但配置为使用位于.docksal/drupal/testing
文件夹中的相应的phpunit.xml
文件。 - 为确保正常功能,必须将
SIMPLETEST_BASE_URL
更新为与 Docksal 虚拟主机名称匹配。在大多数情况下,当运行fin test-init
时会处理此事。作为此命令的一部分,它将自动更新适当的phpunit.xml
文件。这通过 perl 执行基本的查找和替换操作,将默认的web
字符串替换为 Docksal 变量${VIRTUAL_HOST}
。 - 如果由于某些原因命令对您不起作用,您可以手动更新包含在
.docksal/drupal/testing/
中的phpunit.xml
和phpunit-js.xml
中的SIMPLETEST_BASE_URL
。在 Docksal 中,主机的名称与文件夹的名称相匹配。因此,如果您将其克隆到名为drupalin
的文件夹中,您的 Docksal 基于的 URL 将是http://drupalin.docksal
,而这是您应该将SIMPLETEST_BASE_URL
设置为的位置。
设置不同的 PHP 版本
docksal.env
文件包含了堆栈中不同部分的示例定义。可以将WEB_IMAGE
、DB_IMAGE
和CLI_IMAGE
修改为使用 Docksal 仓库中的不同 Docker 镜像。PHP 版本由CLI_IMAGE
决定。您可以修改该值到新版本,并运行fin up
以刷新容器。Docksal 将检测到更改,如果缓存中没有新的 Docker 镜像,则会下载它,并重新加载运行新 PHP 版本的容器。例如,要运行 PHP 7.3,可以将CLI_IMAGE
更新为CLI_IMAGE='docksal/cli:2.6-php7.3'
,然后运行fin up
,现在 CLI 容器正在运行 PHP 7.3。澄清一下,CLI 容器正在确定 Drupal 将使用哪个版本的 PHP,因为 Drupal 实质上运行在这个容器上,与WEB_IMAGE
和DB_IMAGE
容器协同工作,这些容器在后台自动联网。有关更多信息,请参阅 Docksal 网站。
覆盖 PHP/MySQL 设置
- 可以根据需要覆盖 PHP 设置。一些示例包含在
example-php-mysql-overrides
文件夹中。 - Docksal 将在
.docksal/etc/php
中查找 PHP 覆盖设置 - 关于更深入的信息,请参阅 Docksal 文档 - Docksal 将在
.docksal/etc/mysql
中查找 MySQL 覆盖设置 - 关于更深入的信息,请参阅 Docksal 文档
XDebug
这应该提供“开箱即用”的 xdebug 调试能力。测试步骤
- 将
XDEBUG_ENABLED=1
添加到您的docksal-local.env
,并运行fin up
以重新加载容器并启用 XDebug。如果您尚未设置php.ini
,请添加一个,或者更新/etc/php/php.ini
中的设置以使用所需的 XDebug 偏好(请参阅.docksal/example-php-mysql-overrides/etc/php/php.ini
),然后运行fin project restart
以应用新设置。注意:将XDEBUG_ENABLED=1
将会减慢性能,如果不积极使用,请考虑将其设置回0
并运行fin up
以卸载它。 - 下载 VSCode 调试扩展
- 转到“调试”标签并开始调试:
- 当您刷新执行该代码的站点时,它应该将您带到 vscode 中
Pantheon
配置环境变量
- 在
docksal.env
中,将PROJECT_NAME
设置为脚本终端命令中使用的 Pantheon 项目名称,并设置PANTHEON_SITE_ENV
为使用相关命令时首选的环境。
从 Pantheon 同步
- 使用
fin rsync
从定义的PANTHEON_SITE_ENV
同步文件。 - 使用
fin sync-db
从定义的PANTHEON_SITE_ENV
同步 DB。