davidjguru/summerhouse

Summer House 是一个用于 Drupal 解耦项目的沙盒。

安装: 0

依赖者: 0

建议者: 0

安全: 0

星标: 37

关注者: 1

分支: 6

开放问题: 5

语言:Shell

类型:项目

v1.0.1 2022-07-15 13:12 UTC

README

summerhouse_main_image

欢迎来到 Summer House

欢迎来到 Summer House,这是一个基于解耦/无头 Drupal 的入门流程的完全 Docker 化环境。

1. 什么是 Summer House

Summer House 是一个用于 Drupal 解耦项目的沙盒,生成 样板代码,用于 培训 目的,并专注于 做中学。该项目是 自包含 的,且对宿主环境 无依赖。此项目即时部署整个解耦 Drupal 平台,附带大量额外资源、工具和配置,但 仅限本地开发。您可以使用 Summer House 进行 入门流程、研讨会和培训课程。或者只是 为了乐趣

2. 前提条件

您可以在 Linux 环境中使用 SummerHouse,特别是在 Debian / Ubuntu 中。SummerHouse 需要以下资源: GitDockerDocker-ComposeDDEV

如果您在宿主系统中未安装前提条件,您可以从存储库中创建和提交的安装脚本中安装资源。安装脚本在这里:安装脚本

只需在您的系统中下载该脚本,赋予它权限并执行安装程序。这将安装 Docker、Docker-Compose 和 DDEV 到您的 Linux 系统(Ubuntu、Debian)。此外,它还将安装一些基本资源,如 git、jq、curl 和基本包。

$ chmod +x installing_docker_dockercompose_ddev.sh
$ ./installing_docker_dockercompose_ddev.sh

注意:如果您认为将前提条件委托给脚本是不安全的或可能使您的环境处于风险之中,以下是一些信息,以便您自行操作

3. 安装 // 卸载

安装和部署

您只需执行以下三个步骤即可安装 Summer House

$ git clone https://github.com/davidjguru/summerhouse.git #Get a local copy.
$ cd summerhouse #Move to the folder.
summerhouse$ ddev start #Run the DDEV build up.

然后项目将在您的本地环境中加载、配置、启用并部署。您将在浏览器中看到主 URL 打开。
请记住,Summer House 仅限 本地开发。它可能包含一些在其他环境中可能不安全的配置。

您还可以从 GitHub 仓库的发行版/标签区域 下载项目,选择版本并下载压缩文件夹。然后您只需解压项目并启动 DDEV

$ wget https://github.com/davidjguru/summerhouse/archive/refs/tags/v1.0.0.zip
$ unzip summerhouse-1.0.0.zip
$ cd summerhouse-1.0.0/
summerhouse-1.0.0$ ddev start

然后平台将被挂载并部署。

卸载和清理

为了执行 Summer House 安装的完整清理,您可以执行以下步骤。

$ cd summerhouse
summerhouse$ yes| ddev delete -O #Delete the DDEV register for Summer House.
summerhouse$ ./scripts/utilities/clean_all_docker_related_resources.sh #Will destroy all docker resources.
summerhouse$ cd ..
$ sudo rm -rf summerhouse #Delete all the codebase. 

4. 地址 // 资源

Summer House 将部署一系列容器,这些容器通过 DDEV 连接到内部网络,并通过您的浏览器从外部访问

5. 故障排除

已识别出一些常见问题。请检查本节以进行快速干预。
有关已知错误及其解决方案的更多信息,请访问相关wiki部分

某些端口不可用

由于其他应用程序的端口阻止,已检测到问题。这可能导致DDEV启动问题,并在主网站安装过程中导致其他问题,您可能会遇到以下错误

[error]  Drupal\Core\Config\ConfigImporterException: There were errors validating the config synchronization.
Entities exist of type <em class="placeholder">Shortcut link</em> and <em class="placeholder">Shortcut set</em> <em class="placeholder">Default</em>. These entities need to be deleted before importing. in Drupal\Core\Config\ConfigImporter->validate() (line 750 of /var/www/html/backend_drupal/core/lib/Drupal/Core/Config/ConfigImporter.php).

DDEV与其他资源(如80或443)使用的端口一起运行。请确保它们没有被占用(您系统上没有运行Apache)。

访问外部资源时出现错误消息

Summer House通过互联网获取大量资源,因此在尝试获取外部资源时有时会出错

A MkDocs service file has been located in your system.
fatal: unable to access 'https://github.com/davidjguru/summerhouse.wiki.git/': Could not resolve host: github.com
Task failed: Exec command '([ -d ./mkdocs/docs ] && cd ./mkdocs/docs && git pull origin) || (git clone https://github.com/davidjguru/summerhouse.wiki.git ./mkdocs/docs)'

(我们正在从存储库wiki的git克隆中构建mkdocs容器)。

这是关键:无法解析主机:github.com。在这种情况下,您需要检查分配的DNS服务器(或您的ISP的DNS服务器),以确保它们正常运行。

macOS中某些命令的错误

当您在macOS中安装Summer House时,有些人报告了某些命令执行时提示中的错误。具体来说,安装过程中使用的某些命令在macOS中不可用,例如

bash: xdg-open: command not found

macOS中的等效命令只是open,因此您可以在`.ddev/config.yaml`中的这些行尝试更改此命令:3438

并且

Task failed: Exec command 'sed -i '12s/restart: "no"/restart: "on-failure"/' ./.ddev/docker-compose.portainer.yaml' on the host: exit status 1

…当我们使用sed命令更改Portainer容器的重启策略时。

记住,有关如何处理更具体错误的更多信息,请在此处查看
summerhouse/wiki/troubleshooting.

6. 有用链接

7. 其他类似性质的项目

Summer House可能不是您要找的,但它非常接近。如果您想查看其他可能更接近您需求的项目,您可以尝试以下列表中的案例

8. 致谢和感谢

  • 感谢Digitalist Sweden为我们提供改进入职流程的机会。
  • 感谢赫尔娜·诺登菲尔特(Helena Nordenfelt)给予我专注于这个想法的机会。
  • 感谢兰迪·费(Randy Fay)在DDEV及其社区中的出色工作。
  • 感谢来自Cambrico的佩德罗·坎布拉(Pedro Cambra),他是一位真正的导师。