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
540
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
GitHub's CSS Performance
jonrohan
1030
460k
Designing Experiences People Love
moore
138
23k
Being A Developer After 40
akosma
86
590k
It's Worth the Effort
3n
183
27k
Agile that works and the tools we love
rasmusluckow
327
21k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
How to train your dragon (web standard)
notwaldorf
88
5.7k
How STYLIGHT went responsive
nonsquared
95
5.2k
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