cheeky-monkey-media / drupal-project

为Drupal 8项目提供的项目模板,带有cheeky助手。

8.5.0 2019-02-08 05:50 UTC

This package is auto-updated.

Last update: 2024-09-08 18:11:27 UTC


README

本地开发

获取最新代码并开始一个功能分支。

  • 克隆工作库(bitbucket)。
  • cd [项目根目录]
  • git checkout master - 从master开始所有新功能。
  • git pull origin master - 确保您有最新代码。
  • git checkout -b feature/[ID-123]--[short-description] - 以这种方式创建新功能分支。

使用Lando工具安装本地docker环境中的站点。

首次设置,请记住以下几点

  • 确保web/sites/default/services.local.yml存在。(见mw copy
  • 确保web/sites/default/settings.local.php存在。(见mw copy
  • 确保web/sites/default/settings.php包含settings.local.php。
    • 在上面的文件中仔细检查您的数据库设置等。
    • 使用lando info获取数据库连接信息。
  • 导入您的数据库。lando db-import

启动本地环境

  • lando start - 启动环境。
  • lando build -y - 清理composer安装。
  • lando build:theme - 构建主题资源。
  • lando build:reset - 运行local-dev.sh以updb、cim、cr等。

准备开始工作。

模块管理

从项目根目录

添加贡献模块

  • lando composer require drupal/[package_name] --no-update将其添加到composer.json,而无需更新所有内容。
  • lando composer update drupal/[package_name]仅获取/更新所需模块。

更新贡献模块

  • lando composer update drupal/[package_name]

有时几个贡献模块落后几个版本。

请不要在没有指定模块的情况下使用lando composer update,否则会一次性更新所有过时的内容,可能会引入回归,需要进行更多测试。

应严格控制并仔细测试更新。 easiest to do that in smaller chunks. 特别注意模块的BETA、ALPHA或DEV版本,这些版本不稳定,且更新之间不保证不破坏东西。

移除贡献模块

  • lando composer remove将从require或require-dev中删除包。
  • 进行干净的代码库构建lando build将删除贡献和vendor代码,并重新构建,不包括已删除的模块。

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

如果您需要应用补丁,可以使用composer-patches插件。

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

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

要部署

如果您将要部署,特别是部署到生产环境,请确保您了解如何配置,以及部署过程中发生了什么。我们可以自动化很多事情,但如果您不知道机器在做什么,当出现问题时,您会感到恐慌或遇到很大困难。

自动化是提高开发效率的工具,而不是知识和服务能力的替代品。确保有负责任的人在场提供帮助。

在部署到生产之前,请备份代码、文件和数据库

首先,您应该配置好工作仓库。请参阅上文。

  • 如果您还没有这样做:将生产仓库(即“构建工件”)从主机(例如 pantheon)克隆到 [项目根目录]/data/_deploy
    • [项目根目录] 开始操作
      • git clone [生产 Git URL] data/_deploy

回到工作仓库

  • git checkout [要部署的分支] develop 或 staging/staging-[版本]。
  • lando build -y - 清理composer安装。
  • lando build:theme 重要提示:编译后的主题资产(如 CSS 和 JS)不会提交到工作仓库,必须生成。
    • 这些编译后的资产将在部署期间与生产仓库同步。
  • 确保您有 Monkey Wrench v2.2
    • mw version 应显示 v2.2
    • mw version-set v2.2 - 以切换到正确的版本。
    • 如果上述任一命令失败,您的 MW 已过时。
      • 尝试 mw update-mw 以获取最新代码。
      • 然后使用上述命令确保您在 v2.2 上。
      • 如果 mw update-mw 没有做任何事情……您的 MW 实在是过时了,或者根本没有 MW。请参阅:Monkey Wrench
  • mw deploy [develop|stage|master] <version>
    • 这将同步本地构建所需元素到生产仓库,提交并推送到主机。

注意同步和 git push 中的错误。

部署故障排除

部署配置清单

  • 使用正确的 mw 版本吗?v2.2 项目将有一个 scripts/deploy 文件来配置关于该项目的部署细节。v1.5 项目将有一个 deploy.ini 文件。
  • v2.2 您的 scripts/deploy 文件配置正确吗?如果其他人可以无问题部署项目,那么它很可能就是正确的。如果不正确,请参阅手册或向聪明的猴子寻求帮助。
  • v2.2 您是否已将构建工件(仓库)克隆到默认的 data/_deploy(或在 scripts/deploy 中配置的任何路径)?

其他常见问题 (与 mw deploy 无关)

lando buildlando build:theme 错误

  • 使用 lando rebuild 重建本地容器。
  • 重启 Docker:因为 lando rebuild 没有帮助,您只是需要刷新系统。
  • 使用 lando destroy && lando start 因为 Docker 重启没有帮助,而且您这次真的这么做了。
  • NUKE VIRTUALIZATION TOOLS - 重新安装 Lando、Docker 或两者。 显然是最后的手段。 您不应该需要这样做,除非您最近更新了其中一个或两个,并且某些事情出了问题。
  • 掀桌子(╯°□°)╯︵ ┻━┻ - 重新评估您的生活。