2017年7月9日日曜日

【Rails5.1.2】 Rails5.1.0からRails5.1.2にアップグレードする。

  • 公開日:2017年07月09日

記事概要

気づいたらRails5.1.2がリリースされたのでアップグレードしました。まとめ記事です。

環境

  • centos6.5
  • Rails5.1.0 → Rails5.1.2
  • ruby2.3.0
  • rbenv
  • unicorn
  • whenever

移行用の作業branchの作成

gitでrails5.1.2移行用の作業ブランチを作成します。

terminal

cd {project_folder}
git branch feature/rails5.1.2

checkoutでブランチを切り替えます。

terminal

git checkout feature/rails5.1.2

準備完了です。

Gemfile修正

まずGemfileを修正します。

{project_folder}/Gemfile

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '5.1.0'

↓

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '5.1.2'

gem 'rails', '5.1.2'に修正し、updateします。

terminal

// update
bundle update 

bundle updateは、全ての依存関係をインストール・ダウンロードし直すことができます。

Bundle updated!が表示されれば成功です。5.1.0に対応してあれば、bundle updateはひっかからないはずです。

Upgrade 設定ファイル

Gemファイルの導入が完了したら、rails app:updateで設定ファイルを更新します。

terminal

bundle exec rails app:update

ファイル更新の有無を聞かれるので、更新が必要なファイルのみ変更します。
私の環境では以下のようにしました。

  • config/routes.rb → 更新しない
  • config/application.rb → 更新しない
  • config/secrets.yml → 更新しない
  • config/cable.yml → 更新する
  • config/puma.rb → 更新する
  • config/environments/development.rb → 更新しない
  • config/environments/production.rb → 更新しない
  • config/environments/test.rb → 更新しない
  • config/initializers/assets.rb → 更新しない
  • config/initializers/new_framework_defaults.rb → 更新しない
  • bin/setup → 更新する
  • bin/update → 更新する

更新後は、git diffでファイルを比較して必要な設定だけ元に戻します。
5.1.2は5.1.0とほとんど差異がありません。更新の目的はセキュリティアップデートとなります。

Rails5.1.2起動

アプリを起動します。

terminal

rbenv exec bundle exec rails s -b 0.0.0.0
=> Booting WEBrick
=> Rails 5.1.2 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
[2017-07-09 02:44:22] INFO  WEBrick 1.3.1
[2017-07-09 02:44:22] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
[2017-07-09 02:44:22] INFO  WEBrick::HTTPServer#start: pid=23651 port=3000

コンソールにRails 5.1.2 applicationが表示され、画面が表示されれば成功です。

だいたいここまでで10分くらいです。あとは、テストコードを実行してデグレを確認します。

terminal

bundle exec rspec

Finished in 2 minutes 4.6 seconds (files took 7.11 seconds to load)
237 examples, 0 failures, 15 pending

問題ありませんでした。DEPRECATION WARNINGも発生せず。

リリース

capistrano3を使っていつも通りリリースすればOKです。少し時間がかかります。一通りの動作確認はしておきましょう。

まとめ

Rails5.1.0からRails5.1.2のアップデートは、20分もあれば完了します。
さっさと更新しておきましょう。

以上です。

PICK UP オススメ書籍

運営サイト(railsで作成しています)


この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...