2016年7月26日火曜日

【Rails5.0.0】 rails4.2.5からrails5.0.0にアップグレードする その3 capistranoの修正

記事概要

rails4.2.5からrails5.0.0にアップグレードした時の方法をまとめた記事です。
Gemと設定ファイルの修正は、この記事を参考にしてください。
この記事は、capistranoの修正方法について記載しています。

環境

  • centos6.5
  • rails4.2.5 → rails5.0.0
  • ruby2.3.0
  • rbenv
  • unicorn
  • capistrano3.2.1 → capistrano3.5.0
  • whenever

capistranoの実行

capistrano3.2.1でRails5.0.0をstaging環境にリリースします。

terminal

bundle exec cap staging deploy:check

以下のエラーが発生します。

terminal

NoMethodError: undefined method `on' for main:Object

deployできなくなっています。
capistranoのgit logを追うと、このバグは3.5.0で対応されているので、capistrano3.5.0に更新します。

Gemfile修正

Gemfileを修正します。

{project_folder}/Gemfile

gem 'capistrano', '~> 3.2.1'

↓

gem 'capistrano', '~> 3.5.0'

updateします。

terminal

// update
bundle update

アップデートに成功したら、config/deploy.rbを修正します。

{project_folder}/config/deploy.rb

lock '3.2.1'

↓

lock '3.5.0'

以上で修正は完了です。
deploy:checkします。

terminal

bundle exec cap staging deploy:check

正常にdeployが通ります。

その他

その他のcapistranoのdeployツールは正常に動きました。
私の環境では他に、

  • maintenance
  • sitemap
  • whenever

を利用していますが、問題ありませんでした。

導入方法は以下のリンク記事を参考にしてください。

まとめ

以上で、Rails5.0.0の移行作業は終了です。

ここではすでにRails6のアナウンスもされています。

Rails6までには、もっと他の効率的なフレームワークが出ていて欲しいですね。

以上です。

PICK UP オススメ書籍

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


関連記事

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

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