DrevOps项目25.1.0版本发布:Drupal 11升级与技术架构优化
drevops 💧 + 🐳 + 🏗️ + 🛠️ + 🧪️ Drupal project template 项目地址: https://gitcode.com/gh_mirrors/dr/drevops
DrevOps是一个现代化的Drupal项目开发框架,它为开发者提供了一套标准化的工具链和最佳实践,帮助团队高效构建和维护Drupal网站。该框架集成了Docker容器化开发环境、自动化CI/CD流程、测试工具链等关键组件,大幅提升了Drupal项目的开发体验和交付效率。
核心升级:Drupal 11支持
本次25.1.0版本最重要的更新是全面支持Drupal 11(11.1.0版本)。Drupal 11带来了多项重要改进,包括Symfony 6的升级、PHP 8.2+的支持以及多项性能优化。DrevOps框架通过精心设计的升级路径,使开发者能够平滑过渡到新版本,同时保持现有功能的兼容性。
升级过程中,团队特别关注了向后兼容性问题,确保现有项目在升级后不会出现重大功能缺失。同时,框架也对Search API模块(1.36版本)的兼容性进行了优化,这对于依赖搜索功能的项目尤为重要。
容器化架构改进
在Docker容器化方面,本次更新进行了服务命名的规范化调整,将原有的mariadb
服务更名为更通用的database
。这一变化虽然微小,但体现了框架设计思想的演进——通过抽象化的命名来支持更多类型的数据库后端,为未来可能的数据库技术切换预留了空间。
容器镜像也同步更新到了24.12.0版本,包含了最新的安全补丁和性能优化。特别值得注意的是,Selenium测试容器升级到了v131版本,提供了更稳定的浏览器自动化测试环境。
CI/CD流程增强
持续集成流程在本版本中获得了多项改进。测试覆盖率收集工具从Xdebug切换到了PCOV,这一变化显著提升了测试执行速度,特别是在大型项目中效果更为明显。PCOV作为PHP的原生扩展,相比Xdebug具有更低的开销,使得开发者能够更频繁地运行完整的测试套件。
Behat测试框架升级到了3.18版本,同时Behat Screenshot扩展也升级到了v2,提供了更可靠的测试失败截图功能。这些改进共同提升了端到端测试的稳定性和可维护性。
配置与部署优化
在部署配置方面,移除了Acquia平台中过时的config_vcs_directory
设置,简化了配置管理流程。同时修复了Acquia环境下.htaccess文件中域名重定向规则的问题,确保生产环境的URL规范化能够正确工作。
自动化部署流程也获得了稳定性提升,修复了GitHub Actions中缺失的部署webhook变量问题,保证了部署触发的可靠性。
开发者体验提升
本次更新在开发者体验方面做了多项优化。PHPCS(PHP代码嗅探器)的过时配置被移除,减少了配置复杂度。TwigCSFixer的规则集也进行了更新,提供了更符合现代前端开发实践的模板代码检查标准。
项目文档同步更新,特别是测试工作流和数据库种子数据的相关说明更加清晰,帮助新加入团队的开发者更快上手。
技术债务清理
框架内部进行了多项技术债务清理工作。安装脚本被重构为更模块化的设计,使用traits和类来组织功能,提高了代码的可维护性。测试套件也进行了重新平衡,确保各类型测试的比例合理,既保证了代码质量又不至于过度测试。
总结
DrevOps 25.1.0版本是一个重要的里程碑,它不仅带来了对Drupal 11的官方支持,还在架构设计、开发体验和自动化流程等方面进行了全面优化。这些改进使得框架在现代Drupal开发中继续保持领先地位,为团队提供了更高效、更可靠的开发工具链。
对于现有项目,建议在测试环境中充分验证后逐步升级,特别是注意数据库服务名称变更可能带来的影响。新项目则可以直接基于此版本开始,享受最新的技术栈带来的各种优势。
drevops 💧 + 🐳 + 🏗️ + 🛠️ + 🧪️ Drupal project template 项目地址: https://gitcode.com/gh_mirrors/dr/drevops
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考