-
Notifications
You must be signed in to change notification settings - Fork 24
Update
Kosuke Tanabe edited this page Aug 17, 2024
·
194 revisions
# Enjuのディレクトリに移動
cd enju_leaf
# コンテナを停止
docker compose down
# 最新のソースコードを取得
# mainブランチを使用する場合、1.4をmainに変更すること
git checkout 1.4
git pull
# ローカルのgemをインストール(開発環境を必要とする場合のみ)
bundle install
# コンテナをビルド
docker compose build
# データベースのマイグレーションを実行(必要な場合のみ)
docker compose run --rm web rake db:migrate
# CSS・JavaScriptのキャッシュを再作成
docker compose run --rm web bundle exec rake assets:precompile
# コンテナを再起動
docker compose up -d
- Update-to-1.4を参照してください。
- 1.4.0-rc.1以前のEnjuをDockerでインストールしていた場合、以下の手順でSolrのボリュームを削除し、インデックスを再作成してください。
$ docker compose down
$ docker volume rm enju_leaf_solr
$ docker compose up -d
$ docker compose run --rm web rake sunspot:reindex
以下のコマンドで出力されるエラーを、issueでお知らせください。
$ docker compose run --rm web rails c
- 1.2系から1.3系へのアップデートについては、Update-to-1.3を参照してください。
Gemfileのenju_leaf
の行を以下のように変更します。
gem 'enju_leaf', '~> 1.3.6'
また、Gemfileに以下の行を追加します。
gem 'enju_inventory', '~> 0.3.1'
gem 'rails-i18n'
Rails 4.x系のころからEnjuをインストールしていてapp/models/application_record.rb
が存在しない場合、以下の内容で作成します。
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
Rails 5.2を使用している場合、config/environments/production.rb
を以下のように変更します。
# 変更前
config.cache_store = :redis_cache_store, { url: ENV['REDIS_URL'], expires_in: 1.day }
# 変更後
config.cache_store = :redis_store, ENV['REDIS_URL'], { expires_in: 1.day }
その後、以下のコマンドを実行し、Enjuを再起動してください。
$ bundle update
$ rake enju_biblio_engine:install:migrations
$ rake enju_inventory_engine:install:migrations
$ rake db:migrate RAILS_ENV=production
$ sudo systemctl restart enju_leaf.target
Gemfileを以下のように変更します。
gem 'turbolinks', '~> 5' # この行を削除
app/models/user.rb を以下のように変更します。
変更前:
devise :database_authenticatable, #:registerable,
変更後:
devise :database_authenticatable, :registerable,
最後に以下のコマンドを実行し、Enjuを再起動してください。
$ bundle update
- Railsのアップデートについては、 UpgradingRails を参照してください。
- 1.1系でのアップデートについては、Update-1.1を参照してください。
- 1.1系から1.2系へのアップデートについては、Update-to-1.2を参照してください。
Gemfileに以下の行があればそれぞれ削除します。
gem 'statesman', '~> 1.3'
gem 'globalize', '~> 5.0.1'
gem 'globalize-accessors'
app/models/user.rb を以下のように変更します。
変更前:
devise :database_authenticatable, #:registerable,
変更後:
devise :database_authenticatable, :registerable,
config/routes.rb に以下の行があることを確認します。存在しなければ追記してください。
# 以下 as〜end がなければ追加
as :user do
get 'users/edit' => 'devise/registrations#edit', as: 'edit_user_registration'
put 'users' => 'devise/registrations#update', as: 'user_registration'
end
devise_for :users, skip: [:registration]
以下のコマンドを実行します。
$ bundle update
$ rake railties:install:migrations
$ rake db:migrate RAILS_ENV=production
$ rake enju_leaf:load_asset_files RAILS_ENV=production
rake enju_leaf:load_asset_files タスクで、ヘッダーにロゴが追加され、publicディレクトリにfavicon.icoがコピーされます。
- 起動スクリプトの修正を行ってください。
- 以下のコマンドを実行してください。
$ bundle update
$ rake enju_leaf:upgrade RAILS_ENV=production
- .envに以下を追記してください。
REDIS_URL=redis://127.0.0.1/enju_leaf
- OSにUbuntu 14.04を使用している場合、16.04にアップデートします。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo do-release-upgrade
- 起動スクリプトを修正します。Ubuntu 16.04(systemd)の場合、以下のコマンドを実行してください。
$ sudo foreman export systemd /etc/systemd/system -u vagrant -a enju_leaf
$ sudo systemctl daemon-reload
$ sudo systemctl restart enju_leaf.target