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
Laravel バージョンアップと品質担保の話
Search
yugkwmt
August 24, 2020
2
530
Laravel バージョンアップと品質担保の話
yugkwmt
August 24, 2020
Tweet
Share
More Decks by yugkwmt
See All by yugkwmt
テスト稼働の削減とフロントエンドの品質担保を行うE2Eテスト
yugkwmt
3
1.8k
JavaScript も jQuery も未経験の新人エンジニアが 1 年間 Vue.js を 学習して感じた話 / frontend conference 2019
yugkwmt
1
1.8k
Featured
See All Featured
BBQ
matthewcrist
85
9.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Typedesign – Prime Four
hannesfritz
39
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Faster Mobile Websites
deanohume
304
30k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Raft: Consensus for Rubyists
vanstee
136
6.6k
GraphQLの誤解/rethinking-graphql
sonatard
66
10k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
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