tylerfahey/docksal-pack

该软件包的最新版本(dev-master)没有可用的许可证信息。

将 Docksal 集成到您的 Drupal 网站中。

安装: 202

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 1

开放问题: 0

语言:Shell

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.xmlphpunit-js.xml 中的 SIMPLETEST_BASE_URL。在 Docksal 中,主机的名称与文件夹的名称相匹配。因此,如果您将其克隆到名为 drupalin 的文件夹中,您的 Docksal 基于的 URL 将是 http://drupalin.docksal,而这是您应该将 SIMPLETEST_BASE_URL 设置为的位置。

设置不同的 PHP 版本

  • docksal.env 文件包含了堆栈中不同部分的示例定义。可以将 WEB_IMAGEDB_IMAGECLI_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_IMAGEDB_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 调试扩展
  • 转到“调试”标签并开始调试: image
  • 当您刷新执行该代码的站点时,它应该将您带到 vscode 中 image

Pantheon

配置环境变量

  • docksal.env 中,将 PROJECT_NAME 设置为脚本终端命令中使用的 Pantheon 项目名称,并设置 PANTHEON_SITE_ENV 为使用相关命令时首选的环境。

从 Pantheon 同步

  • 使用 fin rsync 从定义的 PANTHEON_SITE_ENV 同步文件。
  • 使用 fin sync-db 从定义的 PANTHEON_SITE_ENV 同步 DB。