Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Laravel バージョンアップと 品質担保の話
Slide 2
Slide 2 text
自己紹介 ● 川又 由雅 ● Chat Dealerの開発に携わっています ● 業務で PHP(Laravel)を使用しています 2
Slide 3
Slide 3 text
バージョンアップを行う理由 3
Slide 4
Slide 4 text
バージョンアップを行う理由 ● 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
Slide 5
Slide 5 text
バージョンアップにかかる時間 5
Slide 6
Slide 6 text
バージョンアップにかかる時間 ● 公式アップグレードガイドに書かれている見積もり時間 ○ 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分
Slide 7
Slide 7 text
バージョンアップにかかる時間 ● というわけにはいかなかった ● 実績:63時間 ● プロダクトの品質担保のため1日では終わらない 7
Slide 8
Slide 8 text
バージョンアップ手法 8
Slide 9
Slide 9 text
バージョンアップ手法 1. アップグレードガイド、GitHubを参照して変更点を確認 ○ Laravel 5.6 ~ 6.0 の各変更点を確認 ○ 品質担保のため、修正が必要な箇所を調査 9
Slide 10
Slide 10 text
バージョンアップ手法 2. バージョンを上げる ○ composer.json(パッケージを定義するためのファイル) の “laravel/framework” の修正を行う ■ "laravel/framework": “5.5", ⇒ "laravel/framework": “5.6", ○ “composer update” コマンドを実行する 10
Slide 11
Slide 11 text
バージョンアップ手法 参考:Laravel アップグレードガイド https://readouble.com/laravel/6.x/ja/upgrade.html 11
Slide 12
Slide 12 text
バージョンアップ手法 3. 1の調査をもとに、コードの修正を行う 4. 修正箇所の動作確認を行い、異常なければ次のバージョンに上げる ○ 異常があれば修正を行う ○ 例:Laravel 6.0 Carbon 1 → 2 へのアップグレード ■ 日付操作が正しく行えるか? 12
Slide 13
Slide 13 text
バージョンアップ手法 2 ~ 4 を Laravel5.6 から 6.0 まで繰り返し行う 5. Laravel 6.0 まで上げ切ったら最後に全機能のテストを行う ○ 一通り動かして動作不正がないか確認 ■ ユーザが行う全設定 ■ 全画面の表示 …etc 13
Slide 14
Slide 14 text
バージョンアップ手法 ● 公式アップグレードガイドに書かれている見積り時間:約2時間45分 ● 実績:63時間 ○ 変更点の調査、テスト仕様書作成:29時間 ○ バージョンアップ:2時間30分 ○ コード修正:7時間 ○ 修正箇所の動作確認:13時間 ○ 全機能テスト:11時間30分 14
Slide 15
Slide 15 text
バージョンアップ手法 ● なぜ段階的にバージョンアップ? ○ 「一気に上げると問題が生じた時に問題の切り分けがしづらい」という 課題 ● 事例をネットで検索 ○ 段階的にバージョンアップしてる記事が実際にあった。こちらを参考。 ○ https://tech.arms-soft.co.jp/entry/2019/08/28/090000 15
Slide 16
Slide 16 text
バージョンアップ手法 この手法でやってみて ○ 良かった点 ■ どのバージョンが原因でエラーが発生してるか把握しやすい ○ 良くなかった点 ■ 特になし 16
Slide 17
Slide 17 text
まとめ 17
Slide 18
Slide 18 text
まとめ ● バージョンアップを段階的に実行すると、どのバージョンが原因でエ ラーが発生しているのか把握しやすい ● プロダクトの品質担保のために泥臭い作業が必要となる 18