Laravelのメジャーのバージョンは、以下のように、ほぼ年に2回のペースでリリースされています。

頻繁に更新されることは、Laravelがいつもアクティブである証拠でとても良いのですが、追い付いていくのが大変なのが現状です。

もちろん便利な機能が登場してきたり、今まで複雑だったことが簡単にできるようなったりとかプラスの面が多いのですが、過去には、バージョン間でフレームワークのディレクトリのレイアウトが変わったり、関数名が変わったりと、ほとんど書き直しを強制される結果となることもあります。

さらに、お客さんのプロジェクトとなれば、バージョンの更新ではUIは何も変わらないので、どうコストを正当化するのかも頭が痛いことです。しかし、バージョンアップしないとLaravelのサポートが期限切れとなるし、便利な新しい機能も使えないし。。。

こういうときに、見つけたのが、バージョン更新サービスの、Laravel Shift

早速、このサービスを利用して、私のLaravel5.3の日本語のリポジトリを5.4に更新してみましょう。

残念ながら英語のサービスですが、すでにgithubbitbucketのリポジトリを使用しているならことは簡単です。

  1. ホームページで「Get Started Now」をクリックすると、以下のようなポップアップが登場します。

  2. Gitのレポジトリにログインします。


     

  3. Laravel Shiftがgithubの私のレポジトリにアクセスすることを許可します。

     
     

  4. Welcome画面が表示されます。そこの右上の「New Shift」をクリックして次の画面へ進みます。

     
     

  5. 更新先のバージョンを選択します。ここでは5.3から5.4なので、「Laravel 5.4」にマウスを持っていき、「Purchase」をクリックします。

     

  6. 更新元のレポジトリとブランチ名を入力します。

  7. 支払い画面です。「Purchase Shift」をクリックします。

  8. クレジットカード情報を入れます。

     

  9. カード決済が完了すると、作業が開始されます。プロジェクトのサイズにもよりますが、完了するとステータスのアイコンが変わり終了です。

     

これで、Laravel Shiftのサイトでの作業は終わりです。領収書のEメールも送信されます。

一方、gifthub.comの方では、プルリクエストが作成され、shift-のプレフィックスのブランチが作成されています。

プルリクエストの内容は以下で閲覧できます。

https://github.com/lotsofbytes/larajapan/pull/2

このブランチでは、コミットは6つ存在し、先のプルリクエストでそれらに関して説明が記されています。この説明は十分理解する必要あり。

作成されたブランチがそのまま使用できるのではなく、以下の作業が必要と書かれています。

  • 作成されたブランチをgitでチェックアウトしてください。
  • プルリクエストのすべてのコメントをレビューしてください。追加の変更を行う必要があるかもしれません。
  • Laravel 5.4の更新のために依存部分を更新してください。
  • composer updateを実行してください。失敗するなら–no-scriptsを付けて再度実行してください
  • 徹底的にテストしてください/li>

以上をこなして実行してみると、動作しましたね!

もちろん今回はとてもシンプルなプロジェクトでの更新なので、調整も最低限度と思いますが、大きなプロジェクトではShiftのブランチで簡単にはいかないと思います。しかし、LaravelのサイトでのUpgrade Guideを読んで、現在のプロジェクトを手動で更新、または新バージョンをまっさらでインストールして、そこにプログラムを1つ1つ移行していくなどの作業よりは、Shiftを使うとスタート時点でかなり違うかなと感じです。今回は11ドルとコストも低いし。

私のクライアントのプロジェクトでは、5.2 ⇒ 5.3 ⇒ 5.4 ⇒ 5.5と3回Larvel Shiftの作業が必要となるわけですが、試してみようと思います。

By khino