sparkfabrik/drush_pre_deploy

此包已被废弃,不再维护。作者建议使用 drupal/drush_pre_deploy 包。

drush 集成,允许启用 "预部署" 钩子。

安装: 182

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 7

分支: 0

开放问题: 0

类型:drupal-module

0.0.4 2020-09-29 07:46 UTC

This package is auto-updated.

Last update: 2020-10-14 12:18:49 UTC


README

此项目是一个 drush 集成,允许启用 "预部署" 钩子。

Drush 10 引入了 drush deploy 命令,旨在标准化 Drupal 部署。 drush deploy 是通过一系列标准的 drush 命令实现的

drush updatedb --no-cache-clear
drush cache:rebuild
drush config:import
drush cache:rebuild
drush deploy:hook

最后一步(drush deploy:hook)会调用 HOOK_deploy_NAME 钩子。 "部署" 钩子类似于 post_update 钩子,在你需要在部署过程的最后执行代码时非常有用。

此项目引入了在部署过程 最开始 执行的 "预部署" 钩子的概念。

它们具有类似现有钩子的形式,如果你的模块名为 foo,那么在一个 foo.predeploy.php 文件中,你可以编写如下函数

/**
 * Hook description here.
 */
function foo_predeploy_some_text_here(&$sandbox) {
}

此外,此项目提供了 deploy:pre-hookdeploy:pre-hook-status 命令,这些命令类似于 deploy:hookdeploy:hook-status 命令。第一个命令运行挂起的 "预部署" 钩子,第二个命令打印有关挂起的 "预部署" 更新钩子的信息。

安装

composer require sparkfabrik/drush_pre_deploy

此项目需要 drush 至少为 10.3.0 版本。

  • 确保在项目的 main composer.json 中为 "drupal-module" 类型设置了 installer-paths 文件夹
"extra": {
  ...
  "installer-paths": {
    ...
    "web/modules/contrib/{$name}": ["type:drupal-module"],

为了确保钩子命令被发现,你需要在 drush 文件夹中添加一个自定义的 "drush.yml" 配置,如下所示

.
└── ROOT_PROJECT_PATH/
    └── drush/
        └── drush.yml

Drush 将自动发现此文件并使用其配置来加载命令。将以下代码添加到 drush.yml 中

drush:
  include:
  - ${env.PWD}/web/modules/contrib/drush_pre_deploy/src/global