denisdigital/drupal_console_commands

为 Drupal 控制台提供的自定义命令。


README

提供自定义的 Drupal 控制台命令和链。

需求

安装

curl -L https://raw.githubusercontent.com/dennisinteractive/drupal_console_commands/master/Makefile > Makefile

make install

命令

这些是用于构建站点的自定义命令。站点信息来自 ~/.console/sites/site-name.yml。请参阅一些站点 YAML 文件的示例,链接:[https://github.com/dennisinteractive/drupal_console_commands/tree/master/sites](https://github.com/dennisinteractive/drupal_console_commands/tree/master/sites)

  • drupal site:build

    运行以下命令以构建站点

    • site:checkout
    • site:compose|make
    • site:npm
    • site:grunt
    • site:settings
    • site:phpunit:setup
    • site:behat:setup
    • site:db:import
    • site:update

    选项

    • skip: 使用此选项省略一个或多个命令。例如,--skip="checkout, phpunit:setup" 将运行上述所有步骤,除了 site:checkoutsite:phpunit:setup
  • drupal site:new

    使用以下之一作为模板的 Drupal 项目构建新站点

    • drupal-composer/drupal-project:8.x-dev
    • acquia/lightning-project
    • acquia/reservoir-project
  • drupal site:checkout site-name [--branch|--tag]

    执行 git clone 并检出指定的分支或标签

    • drupal site:checkout:tag site-name --tag

      执行 git clone 并检出指定的标签/修订版本

    • drupal site:checkout:branch site-name --branch

      执行 git clone 并检出指定的分支

  • drupal site:compose site-name

    运行 composer install

  • drupal site:make site-name

    运行 drush make

  • drupal site:npm

    编译 NPM 包并运行 npm

  • drupal site:grunt

    编译 Grunt 包并运行 grunt

  • drupal site:settings site-name

    • 运行以下命令

      • site:settings:db
      • site:settings:memcache
    • 使用 Drupal 核心提供的 default.settings.php 创建 settings.php

    • 附加以下设置的包含文件

      • settings.db.php 用于数据库凭据。
      • settings.memcache.php 用于 memcache 配置。
      • settings.local.phpweb/sites/[site name] 目录中。

      此文件是自动生成的,不应提交。如果站点文件夹中存在名为 web/sites/example.settings.local.php 的文件,则将其用作 settings.local.php 的模板。

      • settings.[env].php 这些文件是自动生成的,不应提交。根据您的环境 (--env 选项),它将相应的文件复制到 web/sites/[site name]。例如,default.settings.dev.php -> settings.dev.php
      • settings.mine.php 使用此文件添加您的个人自定义设置以覆盖上述所有设置。

    建议您将 settings.*.php 添加到 .gitignore。

  • drupal site:settings:db site-name

    web/sites/default 文件夹中创建 settings.db.php。此文件包含 DB 凭据,不应提交。

  • drupal site:settings:memcache site-name

    web/sites/default 文件夹中创建 settings.memcache.php。此文件包含 Memcache 配置,不应提交。

  • drupal site:phpunit:setup site-name

    在根目录中创建 phpunit.xml。此文件包含 PHPUnit 配置,不应提交。

  • drupal site:behat:setup site-name

    tests 文件夹中创建 behat.yml。此文件包含 Behat 配置,不应提交。

  • drupal site:db:import 站点名称

    如果可用数据库备份,它将删除当前数据库并导入备份。相关信息来自 ~/.console/sites/站点名称.yml

    命令将把备份从原始位置复制到 /tmp。再次运行命令将只复制已更改的原始文件。这在远程缓慢的网络环境中工作非常有用。

    如果没有 db-dump 信息或没有在指定位置找到备份,它将运行站点安装。

    目前,支持的扩展名仅为 .sql.sql.gz

  • drupal site:update 站点名称

    运行更新、导入配置、清除缓存。您可以在导入后通过以下方式在 site.yml 文件中添加列表来启用或禁用模块:

      modules:
        enable:
          - stage_file_proxy
          - devel
        disable:
          - cdn
    
  • drupal site:test 站点名称

    运行测试套件

    - `./behat %s` (Behat tests)
    - `./vendor/bin/phpunit` (PHPUnit tests)
    

环境特定链

每个环境都将有其自己的链,执行相关命令和链

工件

  • drupal site:build:artifact

    准备工件并运行以下命令:

    • site:checkout
    • site:compose
    • site:npm
    • site:grunt

CI

  • drupal site:build:ci

    为 CI 构建站点并运行以下命令:

    • site:db:import
    • site:update
    • site:test

QA

  • drupal site:build:qa

    为 QA 构建站点并运行以下命令:

    • site:db:import
    • site:update
    • site:test

预发布

  • drupal site:build:staging

    为 预发布 构建站点并运行以下命令:

    • site:db:import
    • site:update

生产

  • drupal site:build:prod

    在生产上运行更新并运行以下命令:

    • site:update

有用的参数和选项

  • -h - 显示所有可用的参数和选项。
  • --no-interaction - 在不询问任何可选参数的情况下执行命令。
  • --skip - 跳过执行一个或多个命令(仅限 site:build)。

环境变量

默认情况下,命令将使用 site.yml 中的参数,但可以通过环境变量来覆盖它们。

例如,要覆盖根目录,可以在调用 site:build 之前设置变量:

export site_destination_directory="/directory/"

使用示例

drupal site:build
drupal site:build d7-example
drupal site:build d7-example -e dev --branch="master"
drupal site:build d7-example -e dev --branch="master" --skip="checkout, compose"
drupal site:db:import d7-example