The Upgrade Trails

The Upgrade Trails

New talk I first gave at the Orlando Ruby Users Group on August 11th about my multi-year experience upgrading the Rails application that powers codeschool.com from Rails 3.2 to 4.2.

For context, read: http://olivierlacan.com/posts/the-upgrade-trails/

871fc089cd3cbbc18b9f868c8dd85cce?s=128

Olivier Lacan

August 11, 2016
Tweet

Transcript

  1. The Upgrade Trails

  2. Back in the day…

  3. The BLEEDING EDGE

  4. “How is GitHub 
 still on Rails 2?!” Naive baby

    developer know-it-all
  5. The BETA VERSION

  6. Greenfield

  7. Reddungeon…?

  8. Losing track of Rails.

  9. “When the did 
 we get five versions behind?” “Experienced”

    software developer
  10. It sneaks up on you.

  11. The ASSET PIPELINE

  12. None
  13. The PRODUCT WORK

  14. Writing code for actual customers. (ugh, what a bore!)

  15. The TRANSITIVE DEPENDENCIES

  16. None
  17. not actually a galaxy, just a graph of our dependencies

  18. None
  19. the center of our galaxy

  20. $ bundle list | wc -l

  21. None
  22. 238

  23. two

  24. HUNDRED

  25. AND

  26. THIRTy- EIGHT

  27. The SECURITy UPDATES

  28. CVE for you & me!

  29. CVE

  30. Common

  31. Vulnerabilities

  32. &

  33. Exposures

  34. The UPGRADE EXPOSURE

  35. The Dirty 
 Rotten Patches

  36. Devise

  37. Rack

  38. RSpec

  39. Every patch is an upgrade anchor.

  40. The (T)RAILS OF TEARS

  41. (alternative title)

  42. The YEARS OF RAILS

  43. None
  44. None
  45. None
  46. None
  47. Rough day?

  48. None
  49. None
  50. Whoops.

  51. None
  52. None
  53. Rails 3.2 ✅

  54. The STRONG PARAMETERS

  55. Pre-updating

  56. Turning a minor into a mini-major

  57. The TWO-YEAR UPDATE

  58. None
  59. Reasonable…

  60. None
  61. Less reasonable…

  62. None
  63. None
  64. Pro-tip: production is not staging.

  65. None
  66. March to July

  67. Still not over…

  68. None
  69. Still not over…

  70. None
  71. None
  72. None
  73. The GREAT SKIP

  74. Going straight from 3.2 to 4.2?

  75. None
  76. Depression without deprecation.

  77. The CHANGE LOGS

  78. None
  79. None
  80. None
  81. None
  82. None
  83. rails new learn

  84. None
  85. None
  86. New configuration defaults matter

  87. None
  88. Don’t upgrade too fast, and don’t upgrade too slow.

  89. The LATEST news

  90. None
  91. The AWKWARD QUESTIONS

  92. Thank you, and don’t wait too long.

  93. hi@olivierlacan.com

  94. The LAST SLIDe