Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ruby、一緒に成長しよう! ~ アップグレード奮闘記 ~
Search
みっきー
March 01, 2025
190
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.2k
準備が今につながる
mikik0
0
1.7k
Ruby アップグレード奮闘記 〜mini〜
mikik0
0
1.2k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
290
The test code generator using static analysis and LLM
mikik0
1
2.4k
三井不動産主催ハッカソン
mikik0
2
200
HackU 2021 vol.1 「ねこくえすと」
mikik0
1
150
obnizで遊んでみた
mikik0
1
90
まだ読めてないけど良さげな書籍
mikik0
1
120
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
490
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
450
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
2
1.2k
Faster Mobile Websites
deanohume
310
32k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
WENDY [Excerpt]
tessaabrams
14
40k
Rails Girls Zürich Keynote
gr2m
96
14k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
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にアップグレード完了 🎉
さいごに - マイナーバージョンでも困ることがある - 機能開発で経験できないことが経験できるかも - 周りを頼ること がとても大切 - テストを堅牢
にしておいてよかった