We upgrade major Rails versions
Upgrading Ruby on Rails requires maintaining compatibility with current and next versions, updating dependencies, fixing tests, and conducting phased deployments to minimize risks and ensure a smooth transition.
Read original articleUpgrading major versions of Ruby on Rails is a complex and time-consuming process that involves multiple stages of development, testing, and deployment. The approach taken by the company includes maintaining compatibility with both the current and next versions of Rails simultaneously. This is achieved by using a secondary Gemfile, referred to as Gemfile.next, which allows the application to run with either version during the upgrade process. The upgrade begins with updating the Gemfile, ensuring all dependencies are resolved, and reviewing the Rails upgrade guide and release notes. The bulk of the work involves fixing tests to ensure compatibility with both versions, which can take weeks or months. Manual testing is also conducted with the Customer Success team before deployment. The deployment is executed in two phases: an initial rollout to a small subset of customers followed by a full rollout. Throughout the process, careful attention is paid to maintaining consistent gem versions and ensuring that any patches to core or third-party gems are updated accordingly. The company also emphasizes the importance of running tests against both versions in their CI pipeline to catch regressions early. This structured approach helps mitigate risks associated with major upgrades and ensures a smoother transition to the new Rails version.
- Upgrading Rails involves maintaining compatibility with both current and next versions.
- The process includes updating the Gemfile, fixing tests, and conducting manual testing.
- Deployment is done in two phases to minimize risks.
- Consistent gem versions are crucial to avoid issues during the upgrade.
- Running tests against both versions helps catch regressions early in the process.
Related
JRuby funding at Red Hat stopped – call for sponsors
JRuby gains independence post Red Hat sponsorship end. Updates 9.3.15.0 and 9.4.8.0 released, with plans for JRuby 10 supporting Ruby 3.4 and Rails 7.1. Community urged for GitHub sponsorship or commercial support for continued development.
Mastering Ruby Code Navigation: Ruby LSP Enhancements in the First Half of 2024
In early 2024, the Ruby Language Server Protocol improved code navigation, enhancing features like hover and go-to-definition. Rails addon updates facilitate navigation in models, views, and controllers, with ongoing experimental features.
Rails Is Good Enough
Onur Ozer discusses the lasting significance of Ruby on Rails, highlighting its use by startups and large companies, its productivity, and its ability to simplify web application development over two decades.
I'm Back, Ruby on Rails
The author reassesses Ruby on Rails, praising its stability, built-in features, and supportive community, while highlighting its advantages for rapid development and deployment, making it suitable for startups.
Scaling Rails and Postgres to Users at Microsoft: Lessons and Takeaways
Andrew Atkinson discusses scaling Ruby on Rails applications with PostgreSQL, emphasizing ActiveRecord optimization, Sidekiq for background jobs, and addressing challenges like high concurrency and seasonal traffic in educational software.
If only Ruby had better support for static typing though. Clearly infinite dynamism works for some folks and a lot of successful businesses, but I couldn't live without a type checker pointing me towards all of the places that need fixing. Kind of forces you to have comprehensive test coverage or you're screwed, which maybe isn't a bad thing.
Related
JRuby funding at Red Hat stopped – call for sponsors
JRuby gains independence post Red Hat sponsorship end. Updates 9.3.15.0 and 9.4.8.0 released, with plans for JRuby 10 supporting Ruby 3.4 and Rails 7.1. Community urged for GitHub sponsorship or commercial support for continued development.
Mastering Ruby Code Navigation: Ruby LSP Enhancements in the First Half of 2024
In early 2024, the Ruby Language Server Protocol improved code navigation, enhancing features like hover and go-to-definition. Rails addon updates facilitate navigation in models, views, and controllers, with ongoing experimental features.
Rails Is Good Enough
Onur Ozer discusses the lasting significance of Ruby on Rails, highlighting its use by startups and large companies, its productivity, and its ability to simplify web application development over two decades.
I'm Back, Ruby on Rails
The author reassesses Ruby on Rails, praising its stability, built-in features, and supportive community, while highlighting its advantages for rapid development and deployment, making it suitable for startups.
Scaling Rails and Postgres to Users at Microsoft: Lessons and Takeaways
Andrew Atkinson discusses scaling Ruby on Rails applications with PostgreSQL, emphasizing ActiveRecord optimization, Sidekiq for background jobs, and addressing challenges like high concurrency and seasonal traffic in educational software.