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
Laravel バージョンアップと品質担保の話
Search
yugkwmt
August 24, 2020
700
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravel バージョンアップと品質担保の話
yugkwmt
August 24, 2020
More Decks by yugkwmt
See All by yugkwmt
テスト稼働の削減とフロントエンドの品質担保を行うE2Eテスト
yugkwmt
3
2.2k
JavaScript も jQuery も未経験の新人エンジニアが 1 年間 Vue.js を 学習して感じた話 / frontend conference 2019
yugkwmt
1
2.1k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.3k
Visualization
eitanlees
153
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
The browser strikes back
jonoalderson
0
1.7k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Producing Creativity
orderedlist
PRO
348
41k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
910
Un-Boring Meetings
codingconduct
0
430
Into the Great Unknown - MozCon
thekraken
41
2.7k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Technical Leadership for Architectural Decision Making
baasie
3
580
Transcript
Laravel バージョンアップと 品質担保の話
自己紹介 • 川又 由雅 • Chat Dealerの開発に携わっています • 業務で PHP(Laravel)を使用しています
2
バージョンアップを行う理由 3
バージョンアップを行う理由 • Laravel 5.5 が 2020年8月末に EOL を迎える • EOL
を意識しつつ、LTS(Long-term-support)を集中的に使うルール としている ◦ 5.6 ~ 5.8 は LTS ではなく、EOLを迎えている NG ◦ 6.0 は LTS で EOL が2年後 OK 4
バージョンアップにかかる時間 5
バージョンアップにかかる時間 • 公式アップグレードガイドに書かれている見積もり時間 ◦ 5.5 → 5.6: 10分~30分 ◦ 5.6
→ 5.7:10分~15分 ◦ 5.7 → 5.8:1時間 ◦ 5.8 → 6.0:1時間 • 5.5 から 6.0 まであっという間に終わるんじゃ?(期待) 6 合計2時間45分
バージョンアップにかかる時間 • というわけにはいかなかった • 実績:63時間 • プロダクトの品質担保のため1日では終わらない 7
バージョンアップ手法 8
バージョンアップ手法 1. アップグレードガイド、GitHubを参照して変更点を確認 ◦ Laravel 5.6 ~ 6.0 の各変更点を確認 ◦
品質担保のため、修正が必要な箇所を調査 9
バージョンアップ手法 2. バージョンを上げる ◦ composer.json(パッケージを定義するためのファイル) の “laravel/framework” の修正を行う ▪ "laravel/framework":
“5.5", ⇒ "laravel/framework": “5.6", ◦ “composer update” コマンドを実行する 10
バージョンアップ手法 参考:Laravel アップグレードガイド https://readouble.com/laravel/6.x/ja/upgrade.html 11
バージョンアップ手法 3. 1の調査をもとに、コードの修正を行う 4. 修正箇所の動作確認を行い、異常なければ次のバージョンに上げる ◦ 異常があれば修正を行う ◦ 例:Laravel 6.0
Carbon 1 → 2 へのアップグレード ▪ 日付操作が正しく行えるか? 12
バージョンアップ手法 2 ~ 4 を Laravel5.6 から 6.0 まで繰り返し行う 5.
Laravel 6.0 まで上げ切ったら最後に全機能のテストを行う ◦ 一通り動かして動作不正がないか確認 ▪ ユーザが行う全設定 ▪ 全画面の表示 …etc 13
バージョンアップ手法 • 公式アップグレードガイドに書かれている見積り時間:約2時間45分 • 実績:63時間 ◦ 変更点の調査、テスト仕様書作成:29時間 ◦ バージョンアップ:2時間30分 ◦
コード修正:7時間 ◦ 修正箇所の動作確認:13時間 ◦ 全機能テスト:11時間30分 14
バージョンアップ手法 • なぜ段階的にバージョンアップ? ◦ 「一気に上げると問題が生じた時に問題の切り分けがしづらい」という 課題 • 事例をネットで検索 ◦ 段階的にバージョンアップしてる記事が実際にあった。こちらを参考。
◦ https://tech.arms-soft.co.jp/entry/2019/08/28/090000 15
バージョンアップ手法 この手法でやってみて ◦ 良かった点 ▪ どのバージョンが原因でエラーが発生してるか把握しやすい ◦ 良くなかった点 ▪
特になし 16
まとめ 17
まとめ • バージョンアップを段階的に実行すると、どのバージョンが原因でエ ラーが発生しているのか把握しやすい • プロダクトの品質担保のために泥臭い作業が必要となる 18