Laravel ShiftでLaravelを簡単アップグレード!
Laravel #2 Advent Calendar 2018の11日目です!
今回は、Laravel
のアップデートのやり方について書きたいと思います。
バージョンをあげる時の課題
僕らのチームは元々Laravel
のバージョンを5.5を使っていて、そろそろあげたいよねって話をしてました。
ただ、「調査や変更による工数がかかる」という(多分心理的な)課題があり、そんな時にメンバーの一人が「Laravel Shift」使えば楽そうですよという話から今回に至りました。
Laravel Shiftとは
簡単にいうと、課金すればLaravel
のアップグレードを自動でやってくれるというものです。
なかなか便利そうな感じが漂ってますが、いっきにバージョンアップすることはできないので一つずつバージョンをあげていきます。
今回は5.5から5.7にあげたいので、5.5から5.6($9)、5.6から5.7(7$)の計16$でバージョンアップをしたいと思います。
5.5から5.6へのアップグレード
アップグレードは簡単で、GitHubと連携し、クレジットカードを入力すれば始まります。
数分待つと、指定したブランチへプルリクが自動で作られます。
(自分が英語で話した気分になるので、すごくできた気分になれます)
主なプルリクの内容は以下です。
- PSR-2によるコードスタイルの変更のコミット(準拠してなかったのでいい機会なので変更)
- アップグレードに伴う各種ファイルの修正コミット
- 自動で直せない部分を、コメントで教えてくれる
自動で直せない部分もあるのかよっと思うかもしれませんが、コメントで教えてくれるのでそれの通り直すだけなので楽チンです。
修正後は、「ユニットテスト」と「E2Eテスト」をしてバグがないことを確認したらマージします。
5.6から5.7へのアップグレード
こちらも同じように行います。
ユニットテストだと全てのテストを網羅できてないので、E2Eテストはかなり念入りに行い、無事マージ/リリースを行います。
アップグレードによるバグ
大きいバグは1ヶ月たった今もまだありません。
ただ、5.7
にあるbootstrap/cache
のservices.php
とpackages.php
のオーナー権限がおかしい問題のせいでデプロイのたびにすごく困ってます・・。
修正済みなので、composer update
すればもう大丈夫です。
と、おもったら今度はTestResponse
のJSON
周りがおかしくてテストがこける。。。
マージはされたので早くrelease
してほしいと願っております(12/11現在)
終わりに
最後はあまり関係ないバグの話になってしまいましたが、かかった工数は全部合わせても数時間です。 たった16$でエンジニアの工数をあまり使わずでき、新規開発にすぐ取り組めて、ビジネスサイドにもほぼ迷惑かからない最高のツールでした。ありがとうございます。