如何在Drupal 8中通过Drush命令创建新内容类型
基于Drush + Pipeline的多环境配置部署方案
前置准备
- 所有环境提前安装对应版本的Drush,确保Drush命令可在Pipeline运行环境中通过SSH或环境内置终端正常调用
- 开发环境完成功能开发并验证通过后,执行配置导出命令
drush config:export(可简写为drush cex),将导出的全量配置文件提交到代码仓库的指定同步目录(默认路径为config/sync)
Pipeline部署核心流程
注意:所有步骤执行前需先将目标环境站点设置为维护模式,避免部署过程中用户访问产生数据异常:
drush state:set system.maintenance_mode 1
- 步骤1:Pipeline拉取对应分支代码后,先执行数据库备份命令,出现部署异常时可快速回滚:
drush sql:dump --result-file=../backup/pre-deploy-$(date +%Y%m%d%H%M).sql - 步骤2:执行配置导入命令,自动同步开发环境提交的所有配置变更:
drush config:import(可简写为drush cim) - 步骤3:如果本次变更包含实体结构、模块更新相关逻辑,补充执行数据库更新命令:
drush updatedb(可简写为drush updb) - 步骤4:部署逻辑执行完成后,执行缓存重建命令确保配置生效:
drush cache:rebuild(可简写为drush cr) - 步骤5:站点功能验证通过后,关闭维护模式恢复正常访问:
drush state:set system.maintenance_mode 0
多环境适配说明
- 不同环境的专属配置(比如第三方API密钥、测试环境专属开关等)可以在对应环境的
settings.php中通过$config覆盖项实现,不会被全局配置导入逻辑覆盖,无需单独调整通用部署流程 - 可在Pipeline中增加环境判断逻辑,针对不同环境执行自定义的额外Drush命令,适配特殊部署需求
内容的提问来源于stack exchange,提问作者Reddy Rohit
相关产品推荐
相关产品推荐

