Redmineを3.0から3.2にUpgrade。今後はGit pullで簡単に更新できるようにしておく
Redmine 3.2のレスポンシブデザインを試したくてアップグレードしたときの覚書。
環境: CentOS 6.7, Ruby 2.2.2-p95, Git 2.6.4
参考
目次
- バックアップ
- GitHub経由でアップグレード
- もろもろアップデートしてRedmine再起動
1.バックアップ
データベースだけバックアップしておく
# mysqldump -p redmine > 20151218.sql
2.GitHub経由でアップグレード
今後のアップグレードを簡単にするためにGitを使って最新版を取得する
# cd /opt/redmine/
# git init
# git remote add origin https://github.com/redmine/redmine.git
# git fetch origin
.gitignoreを確認して今のバージョンをコミットしておく
# less .gitignore
# git add --all
# git commit -m 'Redmine 3.0.3'
これで何しても安心なので、とりあえず3.2とマージしてみる
# git branch -a
# git merge origin/3.2-stable
エラー
error: The following untracked working tree files would be overwritten by merge:
余計なファイルを削除
# rm -f files/delete.me public/dispatch.fcgi.example public/plugin_assets/empty tmp/pdf/empty tmp/test/empty tmp/thumbnails/empty
マージ
# git merge origin/3.2-stable
おびただしい数のConflictが。。。マージする前に戻す
# git reset --hard
参考
「git checkout --theirs」を使うとうまくいくらしい。
ブランチを作ってそっちで作業する
# git checkout -b 3.2-stable
更新
# git checkout --theirs origin/3.2-stable .
無事更新完了。コミットする
# git commit -m 'Merge origin/3.2-stable'
git pullで更新できるようにリモートブランチを設定する
# git branch --set-upstream-to=origin/3.2-stable 3.2-stable
3.もろもろアップデートしてRedmine再起動
gemsをアップデート
# bundle update
データベースとプラグインをアップデート
# bundle exec rake db:migrate RAILS_ENV=production
# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
キャッシュをクリア
# bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production
Redmine再起動。起動スクリプトは前の記事を参考に。
# /etc/rc.d/init.d/redmine restart
start redmine
/root/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.9.8/lib/bundler/rubygems_integration.rb:263:in `block in replace_gem': unicorn is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
from /opt/redmine/vendor/bundle/ruby/2.2.0/bin/unicorn_rails:22:in `<main>'
”unicorn”がないと怒られた。Gemfileを編集
# less Gemfile
gem "unicorn"
再度起動
# /etc/rc.d/init.d/redmine start
ブラウザで表示して確認。
Gemfileをコミットしておく
# git add Gemfile
# git commit -m 'Modified Gemfile for unicorn gem'
vender/bundleの下にあるのも一応コミットしておく
# git status
# git add --all
# git status
# git commit -m 'Add files under vender/bundle'
< Related Posts >