~/talk

Upgrading a big application to Rails 5

Talkat RailsConf 2017 · 2017-04-25..04-27· [ruby-on-rails, devops-and-delivery]
slides:none on file

Shopify upgrades a 13‑year monolith with >100,000 model lines and ~2,000 classes to Rails 5 using a dual booting strategy: a shared Gemfile hack then an eval_gemfile approach, a parallel CI running Rails 4.2 and 5, and a gradual rollout with small percentages before a 100% deploy. The work yields ~150 pull requests in three months to remove protected_attributes, thousands of fixed tests, monkey patches for CSRF and YAML params, and a plan to keep CI tracking Rails master.

AI-written summary · about

  1. 0:00Intro
  2. 0:13Upgrade a big application to Rails 5
  3. 1:01RAILS Maintainer
  4. 1:25Started around the same time as Rails
  5. 3:40It is a big application
  6. 4:37It is in the latest Rails version
  7. 4:50Upgrading to Rails 5
  8. 5:55Dual boot strategy
  9. 9:34Upgrade our dependencies
  10. 10:09Contribute to the dependencies that don't support the latest Rails version
  11. 11:24Fix all the tests
  12. 15:43Strong Parameters
  13. 16:48Missing abstractions?
  14. 17:14Controller Tests
  15. 21:38Not an ideal solution
  16. 23:02Road to production
  17. 23:45Compatibilities Layers
  18. 26:10Benchmarks
  19. 27:23Cleanup
  20. 27:40Remove deprecations
  21. 28:31Upgrade configurations to match new values
  22. 28:46Preparation to the next upgrade
  23. 29:07Avoid monkey patches
  24. 29:40Keep tracking master
  25. 30:08Think about backwards compatibility
  26. 30:18Give back to the community
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.