Skip to content
Kosuke Tanabe edited this page Oct 28, 2018 · 12 revisions

1.3系へのアップデート

以下の例では、配布中の仮想マシンでの作業を想定しています。

Enjuを停止します。

$ sudo systemctl stop enju_leaf.target

古いEnjuをリネームします。

$ cd
$ mv enju old_enju

bundlerとrailsをインストールします。

$ sudo gem install bundler
$ sudo gem install rails -v=5.1.6

新しいEnjuを途中までセットアップします。

$ rails _5.1.6_ new enju -d postgresql --skip-bundle \
 -m https://gist.github.com/nabeta/6c56f0edf5cc1c80d9c655c2660a9c59.txt
$ cd enju
$ bundle install --path vendor/bundle
$ rails g enju_leaf:setup

Procfileを以下の内容に変更します。

$ vi Procfile
resque: bundle exec rake environment resque:work QUEUE=mailers,enju_leaf TERM_CHILD=1 RAILS_ENV=production
web: bundle exec rails s -e production -p 3000

設定ファイルをコピーします。

$ cp ../old_enju/config/database.yml config/
$ rm db/migrate/*
$ cp ../old_enju/db/migrate/* db/migrate/
$ cp ../old_enju/.env .
$ cp ../old_enju/app/models/user.rb app/models/
$ cp ../old_enju/app/controllers/application_controller.rb app/controllers/

app/controllers/application_controller.rb を編集します。

$ vi app/controllers/application_controller.rb

変更前:

  protect_from_forgery with: :exception

変更後:

  protect_from_forgery with: :exception, prepend: true

自動起動の設定を更新します。

$ sudo foreman export systemd /etc/systemd/system -u vagrant -a enju_leaf
$ sudo systemctl daemon-reload

CSSとJavascriptのキャッシュを再作成します。

$ rake assets:precompile

Redisのキャッシュをクリアします。

$ rails runner -e production 'Rails.cache.clear'

Enjuとnginx再起動します。

$ sudo systemctl start enju_leaf.target
$ sudo systemctl restart nginx

Solrのインデックスを再作成します。

$ rake sunspot:reindex RAILS_ENV=production

http://localhost:8080 を開き、アクセスできることを確認します。

Clone this wiki locally