mohit-rocks/drupal9-baseimage

适用于在amazee.io上使用Composer托管的项目模板,用于Drupal 9项目

9.1.7 2021-06-03 06:52 UTC

This package is not auto-updated.

Last update: 2024-09-20 22:48:59 UTC


README

此项目模板应该可以提供使用 Composer 管理网站依赖的起点。它基于 原始Drupal Composer模板,但包含了在amazee.io上运行所需的一切(无论是本地开发环境还是amazee.io服务器。)

要求

  • docker
  • pygmy gem install pygmy(根据您的Ruby配置,您可能需要sudo

或者

本地环境设置 - pygmy

  1. 检出此项目仓库,并确认路径在Docker的文件共享配置中 - https://docs.dockerd.com.cn/docker-for-mac/#file-sharing

    git clone https://github.com/amazeeio/drupal-example-simple.git drupal9-lagoon && cd $_
  2. 确保主机机器上没有运行在端口80上的任何内容(如Web服务器),然后运行 pygmy up

  3. 构建并启动构建镜像

    docker-compose up -d
    docker-compose exec cli composer install
  4. 访问新站点 @ http://drupal9-example-simple.docker.amazee.io

  • 如果任何步骤失败,您可以安全地从任何点重新运行。从头开始再次启动将只会重新确认更改。

本地环境设置 - Lando

此仓库已配置.lando.yml文件,允许您使用Lando而不是pygmy作为本地开发环境。

  1. 安装Lando.

  2. 检出项目仓库,并确认路径在Docker的文件共享配置中 - https://docs.dockerd.com.cn/docker-for-mac/#file-sharing

    git clone https://github.com/amazeeio/drupal-example-simple.git drupal9-lagoon && cd $_
  3. 确保您已停止pygmy。运行pygmy stop以确保。

  4. 我们已经在仓库中有一个Lando文件,所以我们只需要运行以下命令来启动Lando

lando start
  1. 使用Drush安装您的Drupal站点
lando drush si -y
  1. 现在我们已经在Lando上有一个完全工作的本地Drupal站点了!有关如何部署站点的更多信息,请参阅我们的文档或部署演示。

模板做了什么?

在安装给定的composer.json时,会处理一些任务

  • Drupal将安装在web目录中。
  • 实现了自动加载器,以使用在vendor/autoload.php中生成的Composer自动加载器,而不是Drupal提供的自动加载器(web/vendor/autoload.php)。
  • 模块(类型为drupal-module的包)将放置在web/modules/contrib/
  • 主题(类型为drupal-theme的包)将放置在web/themes/contrib/
  • 配置文件(类型为drupal-profile的包)将放置在web/profiles/contrib/
  • 创建web/sites/default/files目录。
  • 本地安装了最新的drush版本,可在vendor/bin/drush中使用。
  • 本地安装了最新的Drupal Console版本,可在vendor/bin/drupal中使用。
  • 安装了正确的 Drupal 核心版本结构,以及来自我们amazeeio/drupal-integrations项目的特定于Lagoon的结构,以及此仓库中的assets/目录。有关更多信息,请参阅drupal/core-composer-scaffold

更新Drupal核心

按照以下步骤更新您的核心文件。结构由Drupal核心管理。有关更多信息,请参阅assets/目录。

  1. 运行composer update drupal/core-recommended drupal/core-dev-pinned --with-dependencies

常见问题解答

我应该提交我下载的 contrib 模块吗?

Composer 建议不要提交。它们提供了反对的理由,同时也为项目决定无论如何都要这样做提供了解决方案。

我如何将补丁应用到下载的模块中?

如果您需要应用补丁(根据要修改的项目,拉取请求通常是更好的解决方案),您可以使用composer-patches 插件

要将补丁添加到 drupal 模块 foobar,请在 composer.json 的 extra 部分插入 patches 部分

"extra": {
    "patches": {
        "drupal/foobar": {
            "Patch description": "URL to patch"
        }
    }
}