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
550
Laravel バージョンアップと品質担保の話
yugkwmt
August 24, 2020
Tweet
Share
More Decks by yugkwmt
See All by yugkwmt
テスト稼働の削減とフロントエンドの品質担保を行うE2Eテスト
yugkwmt
3
1.9k
JavaScript も jQuery も未経験の新人エンジニアが 1 年間 Vue.js を 学習して感じた話 / frontend conference 2019
yugkwmt
1
1.8k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Faster Mobile Websites
deanohume
305
30k
Designing Experiences People Love
moore
138
23k
Why Our Code Smells
bkeepers
PRO
335
57k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Making Projects Easy
brettharned
116
5.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
How to Ace a Technical Interview
jacobian
276
23k
Into the Great Unknown - MozCon
thekraken
33
1.5k
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