Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby、一緒に成長しよう! ~ アップグレード奮闘記 ~
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
みっきー
March 01, 2025
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby、一緒に成長しよう! ~ アップグレード奮闘記 ~
TokyoWomen.rb #1 の資料です。
https://tokyowomenrb.connpass.com/event/342573/
みっきー
March 01, 2025
More Decks by みっきー
See All by みっきー
生成AIを“おあずけ”された私
mikik0
0
1.1k
準備が今につながる
mikik0
0
1.6k
Ruby アップグレード奮闘記 〜mini〜
mikik0
0
1.1k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
260
The test code generator using static analysis and LLM
mikik0
1
2k
三井不動産主催ハッカソン
mikik0
2
170
HackU 2021 vol.1 「ねこくえすと」
mikik0
1
140
obnizで遊んでみた
mikik0
1
74
まだ読めてないけど良さげな書籍
mikik0
1
110
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Balancing Empowerment & Direction
lara
6
1.2k
The Curse of the Amulet
leimatthew05
1
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Test your architecture with Archunit
thirion
1
2.3k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Transcript
Ruby、一緒に成長しよう! ~アップグレード奮闘記 ~ Hashino Mikiko
アジェンダ - Findy Team+ 開発組織 - Rubyアップグレード手順 概要
- 実際 アップグレード - 遭遇した課題と解決方法 - さいごに
Hashino Mikiko / みっきー ファインディ株式会社 2024年7月入社 Findy Team+ バックエンド開発
shibuya.rb / TechBull 3月に初ランニングイベントに出場 : @mikiko_bridge
開発組織体制 - アップグレード担当するチームがある わけで ない - 事業KPIごとに分けてチーム作成 参照: エンジニア向け
会社紹介資料より(2月版)
開発組織体制 - Dependabotでアップグレードを検知 - issueを立てておく - やりたい人が自分でissueにアサイン
アップグレード手順 1. リリースノートを読む 2. 対応箇所 洗い出しを行う 3. 2. で洗い出したも
を対応する 4. アップグレード PR作成 5. CIが通ること 確認 6. CI 修正 7. ステージング環境に反映し、動作を確認 8. リリース
1. リリースノートを読む - it 追加 - パーサー 変更 https://www.ruby-lang.org/ja/news/2024/12/25/ruby-3-4-0-released/
アップグレード手順 1. リリースノートを読む 2. 対応箇所 洗い出しを行う 3. 2. で洗い出したも
を対応する 4. アップグレード PR作成 5. 自動CIが通ること 確認 6. 自動CI 修正 7. ステージング環境に反映し、動作を確認 8. リリース
2. 対応箇所 洗い出しを行う - 非推奨 確認 - 新機能で使うも があれ 別issueにして対応
2. 対応箇所 洗い出しを行う - 非推奨 確認 - 新機能で使うも があれ 別issueにして対応
3. 今回、特別対応するところ なさそう
アップグレード手順 1. リリースノートを読む 2. 対応箇所 洗い出しを行う 3. 2. で洗い出したも
を対応する 4. アップグレード PR作成 5. CIが通ること 確認 6. CI 修正 7. ステージング環境に反映し、動作を確認 8. リリース
4. PR作成
アップグレード手順 1. リリースノートを読む 2. 対応箇所 洗い出しを行う 3. 2. で洗い出したも
を対応する 4. アップグレード PR作成 5. CIが通ること 確認 6. CI 修正 7. ステージング環境に反映し、動作を確認 8. リリース
5. CIが通ること 確認 CIでチェックしているも Rubocop Brakeman RSpec
5. CIが通ること 確認 - RSpec ❌ - RSpec 起動時点でエラーが起きていた -
Rubocop ✅ - Brakeman ✅
アップグレード手順 1. リリースノートを読む 2. 対応箇所 洗い出しを行う 3. 2. で洗い出したも
を対応する 4. アップグレード PR作成 5. CIが通ること 確認 6. CI 修正 7. ステージング環境に反映し、動作を確認 8. リリース
6. CI 修正 2つ 問題
1つ目: Datadog gem 原因 - datadog gemが1系で、Ruby3.4系に対応していなかった 解決法 - datadog
gemを2系にアップグレードした
RSpecが起動し、全て通る ず✅
6. CI 修正 - RSpec ❌😕 - Rubocop ✅ -
Brakeman ✅
2つ目: Kernel#system
2つ目: Kernel#system 目標: - 再現コード を用意すること - issueを立てること
None
None
None
None
Ruby 3.4.1 結果 Ruby 3.3.6 結果
https://bugs.ruby-lang.org/issues/21125
None
6. CI 修正 CI を通すため 解決法💡 delegateを使わず、 system メソッドを作成
6. CI 修正 - ✨RSpec ✅✨ - Rubocop ✅ -
Brakeman ✅
アップグレード手順 1. リリースノートを読む 2. 対応箇所 洗い出しを行う 3. 2. で洗い出したも
を対応する 4. アップグレード PR作成 5. CIがパスすること 確認 6. CI 修正 7. ステージング環境に反映し、動作を確認 8. リリース
7. 動作確認 • ステージング環境に反映させる • ハッピーパスで動作 確認をしていく • バッチ処理が正常に動いていることを確認する
アップグレード手順 1. リリースノートを読む 2. 対応箇所 洗い出しを行う 3. 2. で洗い出したも
を対応する 4. アップグレード PR作成 5. CIがパスすること 確認 6. CI 修正 7. ステージング環境に反映し、動作を確認 8. リリース
2025年1月30日 Ruby 3.4.1にアップグレード完了 🎉
さいごに - マイナーバージョンでも困ることがある - 機能開発で経験できないことが経験できるかも - 周りを頼ること がとても大切 - テストを堅牢
にしておいてよかった