humbkr/magallanes-drush

Magallanes 3 php 部署工具的 Drush 任务

dev-master 2017-12-22 14:18 UTC

This package is not auto-updated.

Last update: 2020-01-10 16:48:20 UTC


README

Magallanes 3 的 Drush 任务

可用命令

drush/cache-clear
drush/cache-rebuild
drush/config-export
drush/config-import
drush/custom
drush/features-revert
drush/update-database

安装

通过 composer 安装

composer require humbkr/magallanes-drush

然后,将提供的任务添加到 .mage.yml 中的自定义任务以使用它们

magephp:
    ...
    custom_tasks:
        - 'MageDrush\Task\DrushCacheRebuildTask'
        - 'MageDrush\Tasks\DrushUpdateDatabaseTask'
        ...

注意

  • 可用的类列表位于 vendor/humbkr/magallanes-drush/Task
  • 您只能将所需的任务添加到部署脚本中

使用

将您想要使用的任务添加到自定义类列表后,您可以在任何部署步骤中使用它们,如下所示

magephp:
    environments:
        prod:
            drush: { alias: mywebsite }
            pre-deploy:
            on-deploy:
            on-release:
                - drush/sqldump { file: '/var/tmp/before-release.sql' }
            post-release:
                - drush/update-database
                - drush/config-import
                - drush/cache-rebuild
            post-deploy:

所有 Drush 任务都具有以下通用参数

  • alias: 运行命令时使用的 Drush 别名(可选)
  • drupal_root: 运行命令前切换到的路径(可选)

为了避免重复,您可以使用全局配置项 "drush" 指定这些参数。此项目可以在全局级别或针对每个环境进行设置。

全局级别

magephp:
    ...
    drush: { alias: mywebsite }
    ...

每个环境

magephp:
    environments:
        uat:
            ...
            drush: { alias: mywebsite_uat }
            ...
         
        prod:
            ...
            drush: { alias: mywebsite_prod } 
            ...

此外,每个配置项目都会覆盖父项目,因此可以在特定环境或甚至基于每个命令设置全局 Drush 配置。

示例

magephp:
    drush: { alias: mywebsite }
    environments:
        uat:
            ...
            # Only UAT env has a different alias for whatever reason.
            drush: { alias: mywebsite_uat }
            ...
        prod:
            ...
            # Will use the global "mywebsite" alias.
            ...
magephp:
    drush: { alias: mywebsite }
    environments:
        prod:
            pre-deploy:
                # No alias used on the dev machine (note: it would be useful though).
                - drush/config-export { alias: '', drupal_root: 'drupal/web/sites/default' }
            on-deploy:
            on-release:
            post-release:
                - drush/update-database
                - drush/config-import
                - drush/cache-rebuild
            post-deploy:

文档

drush/cache-clear

描述:清除缓存
Drush 命令:drush cc <缓存名称>
选项

  • caches (可选) : 要清除的缓存列表(由空格分隔)。如果未指定,则清除所有缓存
drush/cache-rebuild

描述:重建缓存
Drush 命令:drush cr

drush/config-export

描述:将配置导出到 settings.php 中指定的同步文件夹
Drush 命令:drush cex -y

drush/config-import

描述:从 settings.php 中指定的同步文件夹导入配置
Drush 命令:drush cim -y

drush/custom

描述:运行指定的 Drush 命令。仅在无法创建合适的自定义 Magallanes 任务时使用。
Drush 命令:drush <your command>
选项

  • command (必填): 要运行的 Drush 命令,不带 "drush" 部分。例如:"en mymodule"
drush/features-revert

描述:撤销一个或多个功能
Drush 命令:drush fr <功能列表> -y / drush fra -y
选项

  • features (可选): 要撤销的功能列表,由空格分隔。如果未指定,则撤销所有功能。
drush/update-database

描述:运行数据库更新
Drush 命令:drush updb -y

贡献

请随意提交您的拉取请求以添加新的drush命令。您的请求必须在master分支上完成。规则:

  • drush命令必须是在多个部署过程中有帮助的命令
  • 您的命令类必须继承自DrushAbstractTask