Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Laravel バージョンアップと品質担保の話

063859d1457e4ea7372097688c41e1c9?s=47 yugkwmt
August 24, 2020
260

Laravel バージョンアップと品質担保の話

063859d1457e4ea7372097688c41e1c9?s=128

yugkwmt

August 24, 2020
Tweet

Transcript

  1. Laravel バージョンアップと 品質担保の話

  2. 自己紹介 • 川又 由雅 • Chat Dealerの開発に携わっています • 業務で PHP(Laravel)を使用しています

    2
  3. バージョンアップを行う理由 3

  4. バージョンアップを行う理由 • 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

  6. バージョンアップにかかる時間 • 公式アップグレードガイドに書かれている見積もり時間 ◦ 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分
  7. バージョンアップにかかる時間 • というわけにはいかなかった • 実績:63時間 • プロダクトの品質担保のため1日では終わらない 7

  8. バージョンアップ手法 8

  9. バージョンアップ手法 1. アップグレードガイド、GitHubを参照して変更点を確認 ◦ Laravel 5.6 ~ 6.0 の各変更点を確認 ◦

    品質担保のため、修正が必要な箇所を調査 9
  10. バージョンアップ手法 2. バージョンを上げる ◦ composer.json(パッケージを定義するためのファイル) の “laravel/framework” の修正を行う ▪ "laravel/framework":

    “5.5", ⇒ "laravel/framework": “5.6", ◦ “composer update” コマンドを実行する 10
  11. バージョンアップ手法 参考:Laravel アップグレードガイド https://readouble.com/laravel/6.x/ja/upgrade.html 11

  12. バージョンアップ手法 3. 1の調査をもとに、コードの修正を行う 4. 修正箇所の動作確認を行い、異常なければ次のバージョンに上げる ◦ 異常があれば修正を行う ◦ 例:Laravel 6.0

    Carbon 1 → 2 へのアップグレード ▪ 日付操作が正しく行えるか? 12
  13. バージョンアップ手法 2 ~ 4 を Laravel5.6 から 6.0 まで繰り返し行う 5.

    Laravel 6.0 まで上げ切ったら最後に全機能のテストを行う ◦ 一通り動かして動作不正がないか確認 ▪ ユーザが行う全設定 ▪ 全画面の表示 …etc 13
  14. バージョンアップ手法 • 公式アップグレードガイドに書かれている見積り時間:約2時間45分 • 実績:63時間 ◦ 変更点の調査、テスト仕様書作成:29時間 ◦ バージョンアップ:2時間30分 ◦

    コード修正:7時間 ◦ 修正箇所の動作確認:13時間 ◦ 全機能テスト:11時間30分 14
  15. バージョンアップ手法 • なぜ段階的にバージョンアップ? ◦ 「一気に上げると問題が生じた時に問題の切り分けがしづらい」という 課題 • 事例をネットで検索 ◦ 段階的にバージョンアップしてる記事が実際にあった。こちらを参考。

    ◦ https://tech.arms-soft.co.jp/entry/2019/08/28/090000 15
  16. バージョンアップ手法  この手法でやってみて ◦ 良かった点 ▪ どのバージョンが原因でエラーが発生してるか把握しやすい ◦ 良くなかった点 ▪

    特になし 16
  17. まとめ 17

  18. まとめ • バージョンアップを段階的に実行すると、どのバージョンが原因でエ ラーが発生しているのか把握しやすい • プロダクトの品質担保のために泥臭い作業が必要となる 18