sparkfabrik/drush-pre-deploy

该包已被弃用且不再维护。作者建议使用sparkfabrik/drush_pre_deploy包。

drush集成,使“预部署”钩子得以启用。

安装: 319

依赖者: 0

建议者: 0

安全: 0

星星: 1

关注者: 8

分支: 1

开放问题: 0

类型:drupal-module

0.0.4 2020-09-29 07:46 UTC

This package is auto-updated.

Last update: 2023-06-25 07:19:54 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 hooks,在你需要在部署过程结束时执行代码时非常有用。

此项目引入了“预部署”钩子的概念,这些钩子是在部署过程的一开始执行的。

它们的格式与现有的钩子类似,如果你的模块名为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版本。

  • 确保在项目的主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