Drupal网站升级的工具和流程

当发布新的Drupal主要版本时,自定义代码通常需要更新以与API更改保持一致,包括删除不推荐使用的API。
因为我总是忘记这个工作流程的某些方面,我决定将其记录下来以供将来参考。

一、Drupal网站升级工具

1、Upgrade Status module,在Drupal中使用UI界面管理,识别弃用代码、宿主环境兼容性等,站点管理员和开发者都可以使用它。

2、Drupal Check,在Drupal中使用命令行中使用,识别弃用代码、宿主环境兼容性等,开发人员,特别是在编码和持续集成(CI)期间可以使用它。

二、Upgrade Status模块

升级状态模块通过检查弃用代码和其他兼容性问题来评估Drupal站点对主要版本升级的准备情况。

1、像安装其他Drupal模块一样安装Upgrade Status模块:

ddev composer require –dev drupal/upgrade_status

在这里,ddev是我更喜欢用来管理本地开发环境的工具。composer是PHP的依赖管理器,通常用于安装Drupal模块。–dev选项指定该模块应作为开发要求安装,这意味着它是开发环境所必需的,但不能安装在生产环境中。

2、启用升级状态模块:

ddev drush pm-enable upgrade_status

drush代表“Drupal shell”,是一个用于管理Drupal站点的命令行实用程序。命令pm:enable(其中pm代表“包管理器”)用于启用Drupal中的模块。

3、启用该模块后,您可以通过导航到/Admin/Reports/Upgrade status的“管理”>“报告”>“升级状态”页面来访问其功能。

三、使用DDEV升级PHP和MySQL

升级状态模块可能会建议根据Drupal的系统要求更新PHP和MySQL。

要更新DDEV的PHP版本,请使用以下命令:

ddev config –-php-version 8.3

要升级DDEV的MySQL版本并迁移数据库内容,请使用以下命令:

ddev debug migrate-database mariadb:10.11

更新这些设置后,我重新启动DDEV并运行PHPUnit测试。虽然这些测试已集成到我的CI/CD工作流程中,但我也在开发机器上使用DDEV在本地运行它们以获得即时反馈。

四、Drupal检查

Drupal Check是一个命令行工具,用于扫描Drupal项目中已弃用的代码和兼容性问题。
在更新drupal站点的代码和第三方依赖关系之前,我总是运行drupal检查。这有助于确保在升级之前与当前代码库没有兼容性问题。我还在更新后运行drupal检查,以识别更新代码引入的任何新问题。

1、安装

ddev composer require –dev mglaman/drupal-check

2、运行命令

./vendor/bin/drupal-check –-memory-limit 500M docroot/modules/custom

五、直接使用PHPTan

在未来,我想评估直接使用PHPTan是否更简单。这是我自己的TODO。Drupal Check本质上是一个围绕PHPTan的包装器,提供默认配置,例如在级别2自动运行。要使用PHPTan实现相同的结果,我应该能够简单地运行:

php vendor/bin/phpstan analyze -l 2 docroot/modules/custom

联系我们

提供基于Drupal的门户网站、电子商务网站、移动应用开发及托管服务

长按加微信
长风云微信
长按关注公众号
长风云公众号