我们如何升级主要的 Rails 版本

主要观点:公司产品基于 Ruby on Rails,进行底层框架的主要版本升级是重大维护工作,整个过程需数月,包括多个开发工作周期、测试轮次和分阶段部署。
关键信息

  • 通过“Gemfile.next”实现同时兼容当前和下一个 Rails 版本,通过函数定义和条件语句来确定使用的 Rails 版本。
  • 升级流程包括更新 Gemfile、审查 Rails 升级指南、修复测试、手动测试和部署等步骤。
  • 维护兼容性方面,对核心和第三方 Rails 宝石进行补丁,确保缓存键在 Rails 版本间失效,运行测试套件时要考虑多种情况,确保 Gemfiles 一致,进行手动测试等。
  • 部署分初始部署和最终部署两个阶段,初始部署限于部分客户,最终部署将“Gemfile.next.lock”提升为“Gemfile.lock”。
    重要细节
  • “Gemfile.next”是当前“Gemfile”的符号链接,“next?”函数用于在“Gemfile”中设置条件语句。
  • 升级流程中各步骤的具体任务,如更新 Gemfile.lock、审查 Rails 升级指南等。
  • 补丁示例及如何确保补丁在 Rails 升级时更新,如根据 Rails 版本进行条件判断。
  • CI 平台上运行测试套件的考虑因素,包括配置 CI 管道、设置变量控制测试报告等。
  • 确保 Gemfiles 一致的脚本及手动检查步骤。
  • 手动测试的参与团队及重要性,初始部署和最终部署的具体操作及注意事项。
阅读 9
0 条评论