$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby、一緒に成長しよう! ~ アップグレード奮闘記 ~
Search
みっきー
March 01, 2025
1
150
Ruby、一緒に成長しよう! ~ アップグレード奮闘記 ~
TokyoWomen.rb #1 の資料です。
https://tokyowomenrb.connpass.com/event/342573/
みっきー
March 01, 2025
Tweet
Share
More Decks by みっきー
See All by みっきー
生成AIを“おあずけ”された私
mikik0
0
350
準備が今につながる
mikik0
0
1.4k
Ruby アップグレード奮闘記 〜mini〜
mikik0
0
1k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
230
The test code generator using static analysis and LLM
mikik0
1
1.6k
三井不動産主催ハッカソン
mikik0
2
130
HackU 2021 vol.1 「ねこくえすと」
mikik0
1
110
obnizで遊んでみた
mikik0
1
64
まだ読めてないけど良さげな書籍
mikik0
1
92
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
990
Statistics for Hackers
jakevdp
799
230k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The Invisible Side of Design
smashingmag
302
51k
Typedesign – Prime Four
hannesfritz
42
2.9k
Code Review Best Practice
trishagee
73
19k
Embracing the Ebb and Flow
colly
88
4.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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にアップグレード完了 🎉
さいごに - マイナーバージョンでも困ることがある - 機能開発で経験できないことが経験できるかも - 周りを頼ること がとても大切 - テストを堅牢
にしておいてよかった